ContactEZ.net D. G. Schneider Lions Club Volunteer Project

ContactEZ.net

Windows MSI Installer SDK Tools Version 3.1.4

This is an archived page for version 3.1.4 (Not for Version 5 and above).
Most of the information listed here will still apply for newer versions0 of Microsoft Windows Installer SDK.

Windows Installer SDK is part of the Windows platform SDK. You can get the Windows Installer SDK from the Windows Server 2003 R2 SDK. If you are like us and do not want to install stuffs on your build or Lab machines, you do no have to install the SDK to get the Windows Installer tools. A little bit of research on the Windows Server 2003 R2 SDK installation reveals that the Orca.MSI and the MsiVal2.Msi are in the file table of the PSDK-amd64.msi and PSDK-ia64.msi. Browse these two MSI using your old version of Orca (until 2008 I used version 2.0.26000.0 / 1.50.26) and you can simply get the CAB files names from the Media Table and extract the files from them. Once extracted the files will have names followed by GUIDs, rename them to their correct names (see the list of files). If you have a doubt about the filename, the File Table will indicate the name to use when renaming the file once extracted. It does not take longer than an hour and it can be very useful if you do not want to jeopardize a machine by installing the Windows Server 2003 R2 SDK just to get the Windows Installer SDK.
If you still want to use the Windows Installer SDK using the Windows Server 2003 R2 SDK, you can go through the Custom Setup of the Windows Server 2003 R2 SDK and deselect all other components but keep only the Windows Installer SDK selected.

Related topics: MSI Automation, MSI Tables Overview, MSI Command Line, Create MSI Tables, MSI UAC VISTA, MSI Error Table, BootStrapper VISTA, MSP VISTA, Create CAB File, Build MSPs

Once you extracted the Orca.MSI and the MSIVal2.msi from their CAB file you can install them on your machine by double-clicking on them.
For a test you can edit these MSIs with the newly installed Orca and run a validation on them.
You may get the following warnings:

ICE66 WARNING Complete functionality of the Class table is only available with Windows Installer version 1.1. Your schema is 100.
ICE66 WARNING Complete functionality of the Upgrade table is only available with Windows Installer version 1.1. Your schema is 100.
ICE73 WARNING This package reuses the '{FE01B6C5-85BF-4CA3-9B78-B44DEB8A4946}' Package Code of the Orca 3.1 Windows Installer SDK package.
ICE73 WARNING This package reuses the '{85F4CBCB-9BBC-4B50-A7D8-E1106771498D}' ProductCode of the Orca 3.1 Windows Installer SDK package.
ICE73 WARNING This package reuses the '{1AA03E10-2B19-11D2-B2EA-006097C99860}' UpgradeCode of the Orca Windows Installer SDK package.
ICE82 WARNING This action CommonFilesFolder.07C03DA1_BDB1_4568_B64A_CE8D36A09DDC has duplicate sequence number 1 in the table InstallExecuteSequence
ICE82 WARNING This action CommonFilesFolder.07C03DA1_BDB1_4568_B64A_CE8D36A09DDC has duplicate sequence number 1 in the table InstallUISequence
ICE82 WARNING This action CommonFilesFolder.07C03DA1_BDB1_4568_B64A_CE8D36A09DDC has duplicate sequence number 1 in the table AdminExecuteSequence
ICE82 WARNING This action CommonFilesFolder.07C03DA1_BDB1_4568_B64A_CE8D36A09DDC has duplicate sequence number 1 in the table AdminUISequence
ICE82 WARNING This action CommonFilesFolder.07C03DA1_BDB1_4568_B64A_CE8D36A09DDC has duplicate sequence number 1 in the table AdvtExecuteSequence

List of Windows Installer SDK files:

Here are the names of the CAB files to copy from the Windows Server 2003 R2 SDK:
PSDK-SDK_MSI_BIN-amd64.0.cab
PSDK-SDK_MSI_BIN-common.0.cab
PSDK-SDK_MSI_BIN-ia64.0.cab
PSDK-SDK_MSI_BIN-x86.0.cab
PSDK-SDK_MSI_BLD-common.0.cab
PSDK-SDK_MSI_BLD_AMD64-common.0.cab
PSDK-SDK_MSI_BLD_IA64-common.0.cab
PSDK-SDK_MSI_BLD_X86-common.0.cab
PSDK-SDK_MSI_DOC-common.0.cab
PSDK-SDK_MSI_SMP-common.0.cab
Here are some filenames examples to rename:
mspatchc_dll.72D7A6AE_C5CB_420B_AA59_BB5ED3E7470C
MsiMsp_Exe.EAEF9382_D30C_4993_8FD2_A031E897C85A
Error_Idt.191917C5_7B7D_423E_98D6_5795FF59DBE5
apatch_exe.1C1A5189_C2FF_4F43_AACA_F1228EB1076E
MsiCert_exe.629D4BFB_E889_4E6C_897C_093DB6D05EBF
MsPatchC_lib.918CCAE6_8D3B_4E0B_84EA_E8F0E3BA6221
PatchWiz_lib.2297E45B_2AF3_4B86_9264_6C41FA560BE6
Orca_Msi.F443CEDC_68B1_4EE7_B9FD_A6C85374EF6E
MsiVal2_Msi.A3EF8DFF_7CCD_4FA6_9C59_57E28F7F6EF9
mspatchc.dll
MsiMsp.Exe
Error.Idt
apatch.exe
MsiCert.exe
MsPatchC.lib
PatchWiz.lib
Orca.Msi
MsiVal2.Msi
It is easy to figure out what names to rename them, the logic is pretty simple (replace _ by . and remove the .GUID).
The following is the list of the files extracted from the CABs and renamed accordingly. I grouped them by types to make it a bit easier to differentiate.
Here is the lsit of the Exes, and DLLs:
apatch.exe
makecab.exe
MergeMod.Dll
mpatch.exe
MsiCert.exe
MsiCert2.exe
MsiDb.Exe
MsiFiler.Exe
MsiInfo.Exe
MsiMerg.Exe
MsiMig.Dll
MsiMig.Exe
MsiMsp.Exe
MsiTran.Exe
MsiZap.Exe
mspatchc.dll
MsPatchC.lib
PatchWiz.dll
PatchWiz.lib
WiLogUtl.exe
Here is the list of the VB Scripts:
WiCompon.vbs
WiDialog.vbs
WiDiffDb.vbs
WiExport.vbs
WiFeatur.vbs
WiFilVer.vbs
WiGenXfm.vbs
WiImport.vbs
WiLangId.vbs
WiLstPrd.vbs
WiLstScr.vbs
WiLstXfm.vbs
WiMakCab.vbs
WiMerge.vbs
WiPolicy.vbs
WiReadMe.txt
WiRunSQL.vbs
WiStream.vbs
WiSubStg.vbs
WiSumInf.vbs
WiTextIn.vbs
WiToAnsi.vbs
WiUseXfm.vbs
 
Here is the list of the MSIs and MSMs with appended numeric values in case of multiple same names:
MsiVal2.Msi
Orca.Msi
Schema.Msm
Schema2.Msm
Schema3.Msm
Schema4.Msi
Schema5.Msi
Schema6.msi
schema7.msi
Sequence.Msi
sequence2msi
Sequence3msi
Sequence4.Msi
UISample.Msi
Here is the list of the optional Action Tables in English as well as Localized versions:
ActionTe.ARA
ActionTe.CAT
ActionTe.CHS
ActionTe.CHT
ActionTe.CSY
ActionTe.DAN
ActionTe.DEU
ActionTe.ELL
ActionTe.ENU
ActionTe.ESN
actionte.eti
ActionTe.EUQ
ActionTe.FIN
ActionTe.FRA
ActionTe.HEB
ActionTe.HRV
ActionTe.HUNActionTe.Idt
ActionTe.ITA
ActionTe.JPN
ActionTe.KOR
ActionTe.LTH
ActionTe.lvi
ActionTe.NLD
ActionTe.NOR
ActionTe.PLK
ActionTe.PTB
ActionTe.PTG
ActionTe.ROM
ActionTe.RUS
ActionTe.SKY
ActionTe.SLV
ActionTe.SVE
ActionTe.THA
ActionTe.TRK
ActionTe.UKR
ActionTe.VIT
Here is the list of the optional Error Tables in English as well as Localized versions: (Error.Idt is the corresponding English file)
Error.ARA
Error.CAT
Error.CHS
Error.CHT
Error.CSY
Error.DAN
Error.DEU
Error.ELL
Error.ENU
Error.ESN
Error.ETI
Error.EUQ
Error.FIN
Error.FRA
Error.HEB
Error.HRV
Error.HUN
Error.ITA
Error.JPN
Error.KOR
Error.LTH
Error.LVI
Error.NLD
Error.NOR
Error.PLK
Error.PTB
Error.PTG
Error.ROM
Error.RUS
Error.SKY
Error.SLV
Error.SVE
Error.THA
Error.TRK
Error.UKR
Error.VIT
And the rest can be grouped in one cluster with appended numeric values in case of multiple same names:
common.h
Create.Cpp
create.def
create.rc
DBReadme.Txt
EXAMPLE.PCP
Makefile
Makefile1
makefile2
makefile3
makefile4
makefile5
MergeMod.h
Msi.h
Msi.hxi
Msi.hxs
Msi.Lib
Msi2.Lib
Msi3.Lib
Msi4.Lib
MsiDefs.h
msiloc.cpp
msiloc.rc
MsiQuery.h
MsiTool.Mak
PatchApi.h
PatchWiz.h
preadme.htm
Process.cpp
process.def
process.rc
readme.htm
readme1.txt
readme2.txt
readme3.txt
readme4.txt
readme5.txt
Remove.cpp
remove.def
remove.rc
resource.h
Schema.Log
setup.cpp
setup.h
setup.ico
setup.rc
setupui.cpp
setupui.h
TEMPLATE.PCP
Tutorial.cpp
tutorial.def
tutorial.rc
upgrdmsi.cpp
utils.cpp
vertrus.tcpp
About Dominique Gérard Schneider since 1995 - Developing solutions that really help!
Participation on Google
ContactEZ.net on YouTube

Tek-Tips Forums dgschnei
Listed since 1996 ixquick
Community Services

platform sdk dgschnei
Cooperation
About Me

Return Home - Index