Table of contents
-
Windows Installer
- Legal Information
- Roadmap to Windows Installer Documentation
- What's New in Windows Installer
-
About Windows Installer
- Overview of Windows Installer
- Administrative Installation
- Rollback Installation
- Maintenance Installation
- Windows Installer File Name Extensions
- Command Line Options
- System Reboots
-
System Policy
- User Policies
-
Machine Policies
- AllowLockdownBrowse
- AllowLockdownMedia
- AllowLockdownPatch
- Debug
- DisableAutomaticApplicationShutdown
- DisableBrowse
- DisableFlyWeightPatching
- DisableLoggingFromPackage
- DisableLUAPatching
- DisableMSI
- DisablePatch
- DisablePatchUninstall
- DisableSharedComponent
- DisableUserInstalls
- EnableAdminTSRemote
- EnableUserControl
- EnforceUpgradeComponentRules
- LimitSystemRestoreCheckpointing
- Logging
- MaxPatchCacheSize
- MsiDisableEmbeddedUI
- SafeForScripting
- TransformsSecure Policy
- Source Resiliency
- Using Windows Installer and Windows Resource Protection
- System Restore Points and the Windows Installer
- File Versioning Rules
- Product Codes
- Package Codes
- Merges and Transforms
- Qualified Components
- Windows Installer Logging
- Companion Files
- Isolated Components
- Installation Context
-
Using Windows Installer
- Organizing Applications into Components
- Downloading an Installation from the Internet
- Multiple-Package Installations
- Concurrent Installations
- Configuring Add/Remove Programs with Windows Installer
- Using Cabinets and Compressed Sources
- Using Qualified Components
- Using Transitive Components
-
Localizing a Windows Installer Package
- Code Page Handling (Windows Installer)
- Creating a Database with a Neutral Code Page
- Localizing the Error and ActionText Tables
- Determining an Installation Database's Code Page
- Localizing the Language Displayed by Dialogs
- Setting the Code Page of a Database
- Preparing a Windows Installer Package for Localization
- Searching for Existing Applications, Files, Registry Entries or .ini File Entries
- Authoring a Large Package
- Determining Installation Context
- Checking the Installation of Features, Components, Files
- CRC Checking During an Installation
- Installing Permanent Components, Files, Fonts, Registry Keys
- Removing Stranded Files
- Searching for a Broken Feature or Component
- Replacing Existing Files
- Editing Installer Shortcuts
- Installing Multiple Instances of Products and Patches
- Using Windows Installer with a Terminal Server
- Controlling Feature Selection States
- Guidelines for Authoring Secure Installations
- Using Isolated Components
- Determining the Windows Installer Version
- Installing a COM+ Application with the Windows Installer
- Adding or Removing Registry Keys on the Installation or Removal of Components
- Adding and Removing an Application and Leaving No Trace in the Registry
- Reducing the Size of an .msi File
- Changing the Target Location for a Directory
- Hiding the Cancel Button During an Installation
- Using Windows Installer with UAC
- Using Windows Installer with Restart Manager
- Using Windows Installer with WMI
- Enumerating Components
- Using Services Configuration
- Single Package Authoring
-
Windows Installer Guide
- Digital Signatures and Windows Installer
- Assemblies
-
User Interface
- About the User Interface
-
Using the User Interface
- Adding Controls and Text
- Authoring a ProgressBar Control
- Authoring Disk Prompt Messages
- Authoring a Conditional "Please Wait . . ." Message Box
- Adding Text Stored in a Property
- Previewing the User Interface
- Monitoring an Installation Using MsiSetExternalUIRecord
- Monitoring an Installation Using MsiSetExternalUI
- Sending Messages to Windows Installer Using MsiProcessMessage
- Displaying Billboards on a Modeless Dialog
- Using an Embedded UI
-
User Interface Reference
- Installer Units
- Dialog Boxes
-
Dialog Style Bits
- BiDi Dialog Style Bit
- Error Dialog Style Bit
- KeepModeless Dialog Style Bit
- LeftScroll Dialog Style Bit
- Minimize Dialog Style Bit
- Modal Dialog Style Bit
- RightAligned Dialog Style Bit
- RTLRO Dialog Style Bit
- SysModal Dialog Style Bit
- TrackDiskSpace Dialog Style Bit
- UseCustomPalette Dialog Style Bit
- Visible Dialog Style Bit
-
Controls
- Billboard Control
- Bitmap Control
- CheckBox Control
- ComboBox Control
- DirectoryCombo Control
- DirectoryList Control
- Edit Control
- GroupBox Control
- Hyperlink Control
- Icon Control
- Line Control
- ListBox Control
- ListView Control
- MaskedEdit Control
- PathEdit Control
- ProgressBar Control
- PushButton Control
- RadioButtonGroup Control
- ScrollableText Control
- SelectionTree Control
- Text Control
- VolumeCostList Control
- VolumeSelectCombo Control
-
Control Attributes
- BiDi Control Attribute
- BillboardName Control Attribute
- Bitmap Control Attribute
- CDROMVolume Control Attribute
- ComboList Control Attribute
- ControlShowRollbackCost Control Attribute
- Enabled Control Attribute
- ElevationShield Attribute
- FixedSize Control Attribute
- FixedVolume Control Attribute
- FloppyVolume Control Attribute
- FormatSize Control Attribute
- HasBorder Control Attribute
- Icon Control Attribute
- IconSize Control Attribute
- Indirect Control Attribute
- IndirectPropertyName Control Attribute
- Integer Control Attribute
- LeftScroll Control Attribute
- MultiLine Control Attribute
- NoPrefix Control Attribute
- NoWrap Control Attribute
- Password Control Attribute
- Position Control Attribute
- Progress Control Attribute
- Progress95 Control Attribute
- PropertyName Control Attribute
- PropertyValue Control Attribute
- PushLike Control Attribute
- RAMDiskVolume Control Attribute
- RemoteVolume Control Attribute
- RemovableVolume Control Attribute
- RightAligned Control Attribute
- RTLRO Control Attribute
- Sorted Control Attribute
- Sunken Control Attribute
- Text Control Attribute
- TimeRemaining Control Attribute
- Transparent Control Attribute
- UsersLanguage Control Attribute
- Visible Control Attribute
-
Control Events
- ActionData ControlEvent
- ActionText ControlEvent
- AddLocal ControlEvent
- AddSource ControlEvent
- CheckExistingTargetPath ControlEvent
- CheckTargetPath ControlEvent
- IgnoreChange ControlEvent
- DirectoryListNew ControlEvent
- DirectoryListOpen ControlEvent
- DirectoryListUp ControlEvent
- DoAction ControlEvent
- EnableRollback ControlEvent
- EndDialog ControlEvent
- MsiLaunchApp ControlEvent
- MsiPrint ControlEvent
- NewDialog ControlEvent
- Reinstall ControlEvent
- ReinstallMode ControlEvent
- Remove ControlEvent
- Reset ControlEvent
- RmShutdownAndRestart ControlEvent
- ScriptInProgress ControlEvent
- SelectionAction ControlEvent
- SelectionBrowse ControlEvent
- SelectionDescription ControlEvent
- SelectionNoItems ControlEvent
- SelectionPath ControlEvent
- SelectionPathOn ControlEvent
- SelectionSize ControlEvent
- SetInstallLevel ControlEvent
- SetProgress ControlEvent
- SetProperty ControlEvent
- SetTargetPath ControlEvent
- SpawnDialog ControlEvent
- SpawnWaitDialog ControlEvent
- TimeRemaining ControlEvent
- ValidateProductID ControlEvent
-
Standard Actions
- About Standard Actions
- Using Standard Actions
-
Standard Actions Reference
- ADMIN Action
- ADVERTISE Action
- AllocateRegistrySpace Action
- AppSearch Action
- BindImage Action
- CCPSearch Action
- CostFinalize Action
- CostInitialize Action
- CreateFolders Action
- CreateShortcuts Action
- DeleteServices Action
- DisableRollback Action
- DuplicateFiles Action
- ExecuteAction Action
- FileCost Action
- FindRelatedProducts Action
- ForceReboot Action
- INSTALL Action
- InstallAdminPackage Action
- InstallExecute Action
- InstallExecuteAgain Action
- InstallFiles Action
- InstallFinalize Action
- InstallInitialize Action
- InstallODBC Action
- InstallServices Action
- InstallSFPCatalogFile Action
- InstallValidate Action
- IsolateComponents Action
- LaunchConditions Action
- MigrateFeatureStates Action
- MoveFiles Action
- MsiConfigureServices Action
- MsiPublishAssemblies Action
- MsiUnpublishAssemblies Action
- PatchFiles Action
- ProcessComponents Action
- PublishComponents Action
- PublishFeatures Action
- PublishProduct Action
- RegisterClassInfo Action
- RegisterComPlus Action
- RegisterExtensionInfo Action
- RegisterFonts Action
- RegisterMIMEInfo Action
- RegisterProduct Action
- RegisterProgIdInfo Action
- RegisterTypeLibraries Action
- RegisterUser Action
- RemoveDuplicateFiles Action
- RemoveEnvironmentStrings Action
- RemoveExistingProducts Action
- RemoveFiles Action
- RemoveFolders Action
- RemoveIniValues Action
- RemoveODBC Action
- RemoveRegistryValues Action
- RemoveShortcuts Action
- ResolveSource Action
- RMCCPSearch Action
- ScheduleReboot Action
- SelfRegModules Action
- SelfUnregModules Action
- SEQUENCE Action
- SetODBCFolders Action
- StartServices Action
- StopServices Action
- UnpublishComponents Action
- UnpublishFeatures Action
- UnregisterClassInfo Action
- UnregisterComPlus Action
- UnregisterExtensionInfo Action
- UnregisterFonts Action
- UnregisterMIMEInfo Action
- UnregisterProgIdInfo Action
- UnregisterTypeLibraries Action
- ValidateProductID Action
- WriteEnvironmentStrings Action
- WriteIniValues Action
- WriteRegistryValues Action
-
Custom Actions
- About Custom Actions
-
Using Custom Actions
- Invoking Custom Actions
- Sequencing Custom Actions
- Obtaining Context Information for Deferred Execution Custom Actions
- Adding Custom Actions to the ProgressBar
- Debugging Custom Actions
- Determining UI Level from a Custom Action
- Uninstalling Custom Actions
- Returning Error Messages from Custom Actions
- Setting a Restore Point from a Custom Action
- Functions Not for Use in Custom Actions
- Changing the System State Using a Custom Action
- Accessing the Current Installer Session from Inside a Custom Action
- Accessing a Database or Session from Inside a Custom Action
- Using a Custom Action to Launch an Installed File at the End of the Installation
- Using a Custom Action to Create User Accounts on a Local Computer
- Using 64-bit Custom Actions
-
Custom Action Reference
-
Custom Action Types
- Custom Action Type 1
- Custom Action Type 2
- Custom Action Type 5
- Custom Action Type 6
- Custom Action Type 17
- Custom Action Type 18
- Custom Action Type 19
- Custom Action Type 21
- Custom Action Type 22
- Custom Action Type 34
- Custom Action Type 35
- Custom Action Type 37
- Custom Action Type 38
- Custom Action Type 50
- Custom Action Type 51
- Custom Action Type 53
- Custom Action Type 54
- Custom Action Execution Scheduling Options
- Custom Action Hidden Target Option
- Custom Action In-Script Execution Options
- Custom Action Patch Uninstall Option
- Custom Action Return Processing Options
- Custom Action Return Values
- Return Values of JScript and VBScript Custom Actions
-
Custom Action Types
-
Properties
- About Properties
- Using Properties
-
Property Reference
- ACTION
- ADDDEFAULT
- ADDLOCAL
- ADDSOURCE
- AdminProperties
- AdminToolsFolder
- AdminUser
- ADVERTISE
- AFTERREBOOT
- ALLUSERS
- Alpha
- AppDataFolder
- ARPAUTHORIZEDCDFPREFIX
- ARPCOMMENTS
- ARPCONTACT
- ARPHELPLINK
- ARPHELPTELEPHONE
- ARPINSTALLLOCATION
- ARPNOMODIFY
- ARPNOREMOVE
- ARPNOREPAIR
- ARPPRODUCTICON
- ARPREADME
- ARPSIZE
- ARPSYSTEMCOMPONENT
- ARPURLINFOABOUT
- ARPURLUPDATEINFO
- AVAILABLEFREEREG
- BorderSide
- BorderTop
- CaptionHeight
- CCP_DRIVE
- ColorBits
- CommonAppDataFolder
- CommonFiles64Folder
- CommonFilesFolder
- COMPADDDEFAULT Property
- COMPADDLOCAL
- COMPADDSOURCE
- COMPANYNAME
- ComputerName
- CostingComplete
- Date
- DefaultUIFont
- DesktopFolder
- DISABLEADVTSHORTCUTS
- DISABLEMEDIA
- DISABLEROLLBACK
- DiskPrompt
- EnableUserControl
- EXECUTEACTION
- EXECUTEMODE
- FASTOEM
- FavoritesFolder
- FILEADDDEFAULT
- FILEADDLOCAL
- FILEADDSOURCE
- FontsFolder
- Installed
- INSTALLLEVEL
- Intel
- Intel64
- IsAdminPackage
- LeftUnit
- LIMITUI
- LocalAppDataFolder
- LOGACTION
- LogonUser
- Manufacturer
- MEDIAPACKAGEPATH
- MediaSourceDir
- MSIARPSETTINGSIDENTIFIER
- MSICHECKCRCS
- MSIDEPLOYMENTCOMPLIANT
- MSIDISABLEEEUI
- MSIDISABLELUAPATCHING
- MSIDISABLERMRESTART
- MSIENFORCEUPGRADECOMPONENTRULES
- MSIFASTINSTALL Property
- MsiHiddenProperties
- MSIINSTALLPERUSER Property
- MSIINSTANCEGUID
- MsiLogFileLocation
- MsiLogging
- MsiNetAssemblySupport
- MSINEWINSTANCE
- MSINODISABLEMEDIA
- MsiNTProductType
- MsiNTSuiteBackOffice
- MsiNTSuiteDataCenter
- MsiNTSuiteEnterprise
- MsiNTSuitePersonal
- MsiNTSuiteSmallBusiness
- MsiNTSuiteSmallBusinessRestricted
- MsiNTSuiteWebServer
- MsiPatchRemovalList
- MSIPATCHREMOVE
- MSIRESTARTMANAGERCONTROL
- MsiRestartManagerSessionKey
- MSIRMSHUTDOWN
- MsiRunningElevated
- MsiSystemRebootPending
- MsiTabletPC
- MsiUIHideCancel
- MsiUIProgressOnly
- MsiUISourceResOnly
- MSIUNINSTALLSUPERSEDEDCOMPONENTS
- MSIUSEREALADMINDETECTION
- MsiWin32AssemblySupport
- Msix64
- MyPicturesFolder
- NetHoodFolder Property
- NOCOMPANYNAME
- NOUSERNAME
- OLEAdvtSupport
- OriginalDatabase
- OutOfDiskSpace
- OutOfNoRbDiskSpace
- ParentOriginalDatabase
- ParentProductCode
- PATCH
- PATCHNEWPACKAGECODE
- PATCHNEWSUMMARYCOMMENTS
- PATCHNEWSUMMARYSUBJECT
- PersonalFolder
- PhysicalMemory
- PIDKEY
- PIDTemplate
- Preselected
- PRIMARYFOLDER
- PrimaryVolumePath
- PrimaryVolumeSpaceAvailable
- PrimaryVolumeSpaceRemaining
- PrimaryVolumeSpaceRequired
- PrintHoodFolder Property
- Privileged
- ProductCode
- ProductID
- ProductLanguage
- ProductName
- ProductState
- ProductVersion
- ProgramFiles64Folder
- ProgramFilesFolder
- ProgramMenuFolder
- PROMPTROLLBACKCOST
- REBOOT
- REBOOTPROMPT
- RecentFolder Property
- RedirectedDLLSupport
- REINSTALL
- REINSTALLMODE
- RemoteAdminTS
- REMOVE
- ReplacedInUseFiles
- RestrictedUserControl
- RESUME
- RollbackDisabled
- ROOTDRIVE
- ScreenX
- ScreenY
- SecureCustomProperties
- SendToFolder
- SEQUENCE
- ServicePackLevel
- ServicePackLevelMinor
- SharedWindows
- ShellAdvtSupport
- SHORTFILENAMES
- SourceDir
- SOURCELIST
- StartMenuFolder
- StartupFolder
- System16Folder
- System64Folder
- SystemFolder
- SystemLanguageID
- TARGETDIR
- TempFolder
- TemplateFolder
- TerminalServer
- TextHeight
- Time
- TRANSFORMS
- TRANSFORMSATSOURCE
- TRANSFORMSSECURE
- TTCSupport
- UILevel
- UpdateStarted
- UpgradeCode
- UPGRADINGPRODUCTCODE
- UserLanguageID
- USERNAME
- UserSID
- Version9X
- VersionDatabase
- VersionMsi
- VersionNT
- VersionNT64
- VirtualMemory
- WindowsBuild
- WindowsFolder
- WindowsVolume
- Operating System Property Values
- Uninstall Registry Key
-
Summary Information Stream
- About the Summary Information Stream
- Using the Summary Information Stream
-
Summary Information Stream Reference
- Author Summary
- Character Count Summary
- Codepage Summary
- Comments Summary
- Create Time/Date Summary
- Creating Application Summary
- Keywords Summary
- Last Printed Summary
- Last Saved By Summary
- Last Saved Time/Date Summary
- Page Count Summary
- Revision Number Summary
- Security Summary
- Subject Summary
- Template Summary
- Title Summary
- Word Count Summary
- Patching and Upgrades
- Database Transforms
-
Package Validation
- Internal Validation
- String-Pool Validation
-
Internal Consistency Evaluators - ICEs
- Using Internal Consistency Evaluators
-
ICE Reference
- ICE01
- ICE02
- ICE03
- ICE04
- ICE05
- ICE06
- ICE07
- ICE08
- ICE09
- ICE10
- ICE12
- ICE13
- ICE14
- ICE15
- ICE16
- ICE17
- ICE18
- ICE19
- ICE20
- ICE21
- ICE22
- ICE23
- ICE24
- ICE25
- ICE26
- ICE27
- ICE28
- ICE29
- ICE30
- ICE31
- ICE32
- ICE33
- ICE34
- ICE35
- ICE36
- ICE38
- ICE39
- ICE40
- ICE41
- ICE42
- ICE43
- ICE44
- ICE45
- ICE46
- ICE47
- ICE48
- ICE49
- ICE50
- ICE51
- ICE52
- ICE53
- ICE54
- ICE55
- ICE56
- ICE57
- ICE58
- ICE59
- ICE60
- ICE61
- ICE62
- ICE63
- ICE64
- ICE65
- ICE66
- ICE67
- ICE68
- ICE69
- ICE70
- ICE71
- ICE72
- ICE73
- ICE74
- ICE75
- ICE76
- ICE77
- ICE78
- ICE79
- ICE80
- ICE81
- ICE82
- ICE83
- ICE84
- ICE85
- ICE86
- ICE87
- ICE88
- ICE89
- ICE90
- ICE91
- ICE92
- ICE93
- ICE94
- ICE95
- ICE96
- ICE97
- ICE98
- ICE99
- ICE 100
- ICE 101
- ICE 102
- ICE 103
- ICE 104
- ICE 105
- Validation Automation
-
Merge Modules
- About Merge Modules
-
Using Merge Modules
-
Authoring Merge Modules
- Obtaining Merge Module Authoring Tools
- Obtaining Blank Merge Module Databases
- Naming Primary Keys in Merge Module Databases
- Authoring Merge Module Component Tables
- Referencing Features in Merge Modules
- Authoring Merge Module Directory Tables
- Authoring Merge Module FeatureComponents Tables
- Generating MergeModule.CABinet Cabinet Files
- Authoring Merge Module File Tables
- Authoring ModuleSignature Tables
- Authoring ModuleComponents Tables
- Authoring Merge Module Sequence Tables
- Authoring User Interfaces in Merge Modules
- Authoring Merge Module Registry Tables
- Authoring Merge Module Summary Information Streams
- Validating Merge Modules
- Adding Readme Information Streams to Merge Modules
- Using 64-bit Merge Modules
- Authoring Multiple Language Merge Modules
- Applying Merge Modules
- Using Configurable Merge Modules
-
Authoring Merge Modules
-
Merge Module Reference
-
Merge Module Automation
- Object Model for Mergemod.dll Version 1.0
- Object Model for Mergemod.dll Version 2.0
-
Mergemod Objects
- ConfigurableItem Object
- ConfigureModule Object
- Dependency Object
- Error Object
- GetFiles Object
-
Merge Object
- CloseDatabase Method
- CloseLog Method
- CloseModule Method
- ConfigurableItems Property
- Connect Method
- CreateSourceImage Method
- Dependencies Property (Merge Object)
- Errors Property
- ExtractCAB Method
- ExtractFiles Method
- ExtractFilesEx Method
- Log Method
- Merge Method (Merge Object)
- MergeEx Method
- OpenDatabase Method (Merge Object)
- OpenLog Method
- OpenModule Method
-
Mergemod Interfaces
- IMsmConfigurableItem Interface
- IMsmConfigureModule Interface
- IMsmDependency Interface
- IMsmError Interface
- IMsmGetFiles Interface
- IMsmMerge Interface
-
IMsmMerge2 Interface
- CloseDatabase Method
- CloseLog Method
- CloseModule Method
- Connect Method
- CreateSourceImage Method
- ExtractCAB Method
- ExtractFiles Method
- ExtractFilesEx Method
- get_ConfigurableItems Method
- get_Dependencies Method
- get_Errors Method
- Log Method
- Merge Method
- MergeEx Method
- OpenDatabase Method
- OpenLog Method
- OpenModule Method
-
Merge Module Database Tables
- ModuleSignature Table
- ModuleComponents Table
- ModuleDependency Table
- ModuleExclusion Table
- ModuleAdminUISequence Table
- ModuleAdminExecuteSequence Table
- ModuleAdvtUISequence Table
- ModuleAdvtExecuteSequence Table
- ModuleIgnoreTable Table
- ModuleInstallUISequence Table
- ModuleInstallExecuteSequence Table
- ModuleSubstitution Table
- ModuleConfiguration Table
- Merge Module Summary Information Stream Reference
- Merge Module ICE Reference
- CMSM Special Format
- Semantic Types
- Configurable Component Example
-
Merge Module Automation
- Windows Installer Bootstrapping
- Windows Installer on 64-bit Operating Systems
- Windows Installer and Logo Requirements
-
Windows Installer Examples
-
An Installation Example
- Planning the Installation
- Importing a Blank Database
- Specifying Directory Structure
- Specifying Components
- Specifying Files and File Attributes
- Specifying Source Media
- Specifying Features
- Specifying Feature-Component Relationships
- Adding Registry Information
- Specifying Shortcuts
- Specifying Properties
- Importing the InstallExecuteSequence
- Importing the InstallUISequence
- Importing the AdminExecuteSequence
- Importing the AdminUISequence
- Importing the AdvtExecuteSequence
- Adding Summary Information
- Importing the User Interface
- Validating an Installation Database
-
An Upgrade Example
- Planning a Major Upgrade
- Importing Original Installation Database
- Updating Directory Structure for an Upgrade
- Updating Files and File Attributes for an Upgrade
- Updating Components for an Upgrade
- Updating Features for an Upgrade
- Updating Shortcuts for an Upgrade
- Updating Upgrade Table for an Upgrade
- Updating Properties for an Upgrade
- Updating Sequence Tables for an Upgrade
- Updating Summary Information for an Upgrade
- Validating an Installation Upgrade
- A Customization Transform Example
- A Small Update Patching Example
- A Database and Patch Example
- A Localization Example
- A MUI Shortcut Example
- A URL-Based Windows Installer Installation Example
-
Windows Installer Scripting Examples
- List Products, Properties, Features, and Components
- Import Files
- Export Files
- Manage Substorages
- Manage Binary Streams
- Merge Two Databases
- Generate a Transform
- Apply a Transform
- View a Transform
- View Differences Between Two Databases
- View Installer Script
- Manage Summary Information
- Manage Policy Settings
- Manage Language and Codepage
- Copy a Unicode File to an ANSI File
- Manage File Sizes and Versions
- Generate File Cabinet
- Execute SQL Statements
- Copy ANSI File Into a Database Field
- List Components
- List Features
- Preview User Interface
- Single Package Authoring Example
-
An Installation Example
-
Windows Installer Reference
-
Automation Interface
- About the Automation Interface
- Using the Automation Interface
-
Automation Interface Reference
- Client
- ComponentInfo
- Components
- Database Object
- FeatureInfo Object
-
Installer Object
- AddSource Method
- AdvertiseProduct Method
- AdvertiseScript Method
- ApplyPatch Method
- ApplyMultiplePatches Method
- ClearSourceList Method
- ClientsEx Property
- CollectUserInfo Method
- ComponentClients Property
- ComponentPath Property
- ComponentPathEx Property
- ComponentQualifiers Property
- Components Property
- ComponentsEx Property
- ConfigureFeature Method
- ConfigureProduct Method
- CreateAdvertiseScript Method
- CreateRecord Method
- EnableLog Method
- Environment Property
- ExtractPatchXMLData Method
- FeatureParent Property
- Features Property
- FeatureState Property
- FeatureUsageCount Property
- FeatureUsageDate Property
- FileAttributes Property
- FileHash Method
- FileSignatureInfo Method
- FileSize Method
- FileVersion Method
- ForceSourceListResolution Method
- InstallProduct Method
- LastErrorRecord Method
- OpenPackage Method
- OpenDatabase Method
- OpenProduct Method
- Patches Property
- PatchesEx Property
- PatchFiles Property
- PatchInfo Property
- PatchTransforms Property
- ProductInfo Property
- ProductInfoFromScript Property
- ProductElevated Property
- ProductsEx Property
- Products Property
- ProductState Property Method
- ProvideAssembly Method
- ProvideComponent Method
- ProvideQualifiedComponent Method
- QualifierDescription Property
- RegistryValue Method
- ReinstallFeature Method
- ReinstallProduct Method
- RelatedProducts Property
- RemovePatches Method
- ShortcutTarget Property
- SummaryInformation Property
- UILevel Property
- UseFeature Method
- Version Property
-
Patch Object
- SourceListAddMediaDisk Method
- SourceListAddSource Method
- SourceListClearMediaDisk Method
- SourceListClearSource Method
- SourceListClearAll Method
- SourceListForceResolution Method
- Context Property
- MediaDisks Property
- PatchCode Property
- PatchProperty Method
- ProductCode Property
- SourceListInfo Property
- Sources Property
- State Property
- UserSid Property
-
Product Object
- SourceListAddMediaDisk Method
- SourceListAddSource Method
- SourceListClearSource Method
- SourceListClearAll Method
- SourceListClearMediaDisk Method
- SourceListForceResolution Method
- SourceListInfo Property
- ComponentState Method
- ProductCode Property
- InstallProperty Method
- Context Property
- FeatureState Method
- MediaDisks Property
- Sources Property
- State Property
- UserSid Property
- Record Object
- RecordList Object
-
Session Object
- ComponentCosts Property
- ComponentCurrentState Property
- ComponentRequestState Property
- Database Property
- DoAction Method
- EvaluateCondition Method
- FeatureCost Property
- FeatureCurrentState Property
- FeatureInfo Method
- FeatureRequestState Property
- FeatureValidStates Property
- FormatRecord Method
- Installer Property
- Language Property
- Message Method
- Mode Property
- ProductProperty Property
- Property Property
- Sequence Method
- SetInstallLevel Method
- SourcePath Property
- TargetPath Property
- VerifyDiskSpace Property
- StringList Object
- SummaryInfo Object
- UIPreview Object
- View Object
-
Installer Functions
- About Installer Functions
-
Using Installer Functions
- Initializing an Application
- Getting Application Information
- Requesting a Feature
- Installing an Application
- Reinstalling a Feature or Application
- Removing an Advertised Application
- Working with Features and Components
- Installing a Missing Component
- Inventory Products and Patches
- Managing Installation Sources
-
Installer Function Reference
- MsiAdvertiseProduct
- MsiAdvertiseProductEx
- MsiAdvertiseScript
- MsiApplyPatch
- MsiApplyMultiplePatches
- MsiBeginTransaction
- MsiCloseAllHandles
- MsiCloseHandle
- MsiCollectUserInfo
- MsiConfigureFeature
- MsiConfigureProduct
- MsiConfigureProductEx
- MsiDetermineApplicablePatches
- MsiDeterminePatchSequence
- MsiEnableLog
- MsiEndTransaction
- MsiEnumClients
- MsiEnumClientsEx
- MsiEnumComponentQualifiers
- MsiEnumComponents
- MsiEnumComponentsEx
- MsiEnumFeatures
- MsiEnumPatches
- MsiEnumPatchesEx
- MsiEnumProducts
- MsiEnumProductsEx
- MsiEnumRelatedProducts
- MsiExtractPatchXMLData
- MsiGetComponentPath
- MsiGetComponentPathEx
- MsiGetFeatureInfo
- MsiGetFeatureUsage
- MsiGetFileHash
- MsiGetFileSignatureInformation
- MsiGetFileVersion
- MsiGetPatchFileList
- MsiGetPatchInfo
- MsiGetPatchInfoEx
- MsiGetProductCode
- MsiGetProductInfo
- MsiGetProductInfoEx
- MsiGetProductInfoFromScript
- MsiGetProductProperty
- MsiGetShortcutTarget
- MsiGetUserInfo
- MsiInstallMissingComponent
- MsiInstallMissingFile
- MsiInstallProduct
- MsiIsProductElevated
- MsiJoinTransaction
- MsiLocateComponent
- MsiNotifySidChange
- MsiOpenPackage
- MsiOpenPackageEx
- MsiOpenProduct
- MsiProcessAdvertiseScript
- MsiProvideAssembly
- MsiProvideComponent
- MsiProvideQualifiedComponent
- MsiProvideQualifiedComponentEx
- MsiQueryComponentState
- MsiQueryFeatureState
- MsiQueryFeatureStateEx
- MsiQueryProductState
- MsiReinstallFeature
- MsiReinstallProduct
- MsiRemovePatches
- MsiSetExternalUI
- MsiSetExternalUIRecord
- MsiSetInternalUI
- MsiSourceListAddMediaDisk
- MsiSourceListAddSource
- MsiSourceListAddSourceEx
- MsiSourceListClearAll
- MsiSourceListClearAllEx
- MsiSourceListClearSource
- MsiSourceListClearMediaDisk
- MsiSourceListEnumSources
- MsiSourceListEnumMediaDisks
- MsiSourceListForceResolution
- MsiSourceListForceResolutionEx
- MsiSourceListGetInfo
- MsiSourceListSetInfo
- MsiUseFeature
- MsiUseFeatureEx
- MsiVerifyPackage
- Initialization Errors
- Displayed Error Messages
- InitializeEmbeddedUI
- EmbeddedUIHandler
- ShutdownEmbeddedUI
- INSTALLUI_HANDLER
- INSTALLUI_HANDLER_RECORD
- Installer Structures
-
Installer Database
- About the Installer Database
-
Using the Installer Database
- Using the Directory Table
- Using a Sequence Table
- Obtaining a Database Handle
- Committing Databases
- Importing and Exporting
- Merging Databases
- Naming Custom Tables, Properties, and Actions
- OLE Limitations on Streams
- Working with Queries
- Working with Records
- Adding Binary Data to a Table Using SQL
- Working with Folder Locations
- Specifying the Order of Self Registration
- Conditioning Actions to Run During Removal
- Calling Database Functions from Programs
- Conditional Statement Syntax
- Column Definition Format
- Determining Whether a Column is a Primary or External Key
-
Installer Database Reference
-
Database Functions
- SQL Syntax
- Passing null as the Argument of Windows Installer Functions
- MsiCreateRecord
- MsiCreateTransformSummaryInfo
- MsiDatabaseApplyTransform
- MsiDatabaseCommit
- MsiDatabaseExport
- MsiDatabaseGenerateTransform
- MsiDatabaseGetPrimaryKeys
- MsiDatabaseImport
- MsiDatabaseIsTablePersistent
- MsiDatabaseMerge
- MsiDatabaseOpenView
- MsiDoAction
- MsiEnableUIPreview
- MsiEnumComponentCosts
- MsiEvaluateCondition
- MsiFormatRecord
- MsiGetActiveDatabase
- MsiGetComponentState
- MsiGetDatabaseState
- MsiGetFeatureCost
- MsiGetFeatureState
- MsiGetFeatureValidStates
- MsiGetLanguage
- MsiGetLastErrorRecord
- MsiGetMode
- MsiGetProperty
- MsiGetSourcePath
- MsiGetSummaryInformation
- MsiGetTargetPath
- MsiOpenDatabase
- MsiPreviewBillboard
- MsiPreviewDialog
- MsiProcessMessage
- MsiRecordClearData
- MsiRecordDataSize
- MsiRecordGetFieldCount
- MsiRecordGetInteger
- MsiRecordGetString
- MsiRecordIsNull
- MsiRecordReadStream
- MsiRecordSetInteger
- MsiRecordSetStream
- MsiRecordSetString
- MsiSequence
- MsiSetComponentState
- MsiSetFeatureAttributes
- MsiSetFeatureState
- MsiSetInstallLevel
- MsiSetMode
- MsiSetProperty
- MsiSetTargetPath
- MsiSummaryInfoGetProperty
- MsiSummaryInfoGetPropertyCount
- MsiSummaryInfoPersist
- MsiSummaryInfoSetProperty
- MsiVerifyDiskSpace
- MsiViewClose
- MsiViewExecute
- MsiViewFetch
- MsiViewGetColumnInfo
- MsiViewGetError
- MsiViewModify
-
Database Tables
- Column Data Types
- _RowState Column
- ActionText Table
- AdminExecuteSequence Table
- AdminUISequence Table
- AdvtExecuteSequence Table
- AdvtUISequence Table
- AppId Table
- AppSearch Table
- BBControl Table
- Billboard Table
- Binary Table
- BindImage Table
- CCPSearch Table
- CheckBox Table
- Class Table
- ComboBox Table
- CompLocator Table
- Complus Table
- Component Table
- Condition Table
- Control Table
- ControlCondition Table
- ControlEvent Table
- CreateFolder Table
- CustomAction Table
- Dialog Table
- Directory Table
- DrLocator Table
- DuplicateFile Table
- Environment Table
- Error Table
- EventMapping Table
- Extension Table
- Feature Table
- FeatureComponents Table
- File Table
- FileSFPCatalog Table
- Font Table
- Icon Table
- IniFile Table
- IniLocator Table
- InstallExecuteSequence Table
- InstallUISequence Table
- IsolatedComponent Table
- LaunchCondition Table
- ListBox Table
- ListView Table
- LockPermissions Table
- Media Table
- MIME Table
- MoveFile Table
- MsiAssembly Table
- MsiAssemblyName Table
- MsiDigitalCertificate Table
- MsiDigitalSignature Table
- MsiEmbeddedChainer Table
- MsiEmbeddedUI Table
- MsiFileHash Table
- MsiLockPermissionsEx Table
- MsiPackageCertificate Table
- MsiPatchCertificate Table
- MsiPatchHeaders Table
- MsiPatchMetadata Table
- MsiPatchOldAssemblyFile Table
- MsiPatchOldAssemblyName Table
- MsiPatchSequence Table
- MsiServiceConfig Table
- MsiServiceConfigFailureActions Table
- MsiSFCBypass Table
- MsiShortcutProperty Table
- ODBCAttribute Table
- ODBCDataSource Table
- ODBCDriver Table
- ODBCSourceAttribute Table
- ODBCTranslator Table
- Patch Table
- PatchPackage Table
- ProgId Table
- Property Table
- PublishComponent Table
- RadioButton Table
- Registry Table
- RegLocator Table
- RemoveFile Table
- RemoveIniFile Table
- RemoveRegistry Table
- ReserveCost Table
- SelfReg Table
- ServiceControl Table
- ServiceInstall Table
- SFPCatalog Table
- Shortcut Table
- Signature Table
- TextStyle Table
- TypeLib Table
- UIText Table
- Upgrade Table
- Verb Table
- _Columns Table
- _Storages Table
- _Streams Table
- _Tables Table
- _TransformView Table
- _Validation Table
-
Database Functions
-
Released Versions, Tools, and Redistributables
- Platform SDK Components for Windows Installer Developers
- Windows Installer Redistributables
- Released Versions of Windows Installer
-
Windows Installer Development Tools
- Instmsi.exe
- Msicert.exe
- Msidb.exe
- Msifiler.exe
- Msiinfo.exe
- Msimerg.exe
- Msimsp.exe
- Msistuff.exe
- Msitool.mak
- Msitran.exe
- Msival2.exe
- Msizap.exe
- Orca.exe
-
PATCHWIZ.DLL
- Patch Information Caching (PATCHWIZ.DLL)
- Using Symbols to Reduce Binary Patch Size
- Patching Selected Regions of a File
- Generating Patch Sequence Information (PATCHWIZ.DLL)
- UiCreatePatchPackageEx (Patchwiz.dll)
- UiCreatePatchPackage (PATCHWIZ.DLL)
- Return Values for UiCreatePatchPackage
- Properties Table (PATCHWIZ.DLL)
- ImageFamilies Table (Patchwiz.dll)
- UpgradedImages Table (PATCHWIZ.DLL)
- TargetImages Table (PATCHWIZ.DLL)
- UpgradedFiles_OptionalData Table (PATCHWIZ.DLL)
- FamilyFileRanges Table (PATCHWIZ.DLL)
- TargetFiles_OptionalData Table (PATCHWIZ.DLL)
- ExternalFiles Table (PATCHWIZ.DLL)
- UpgradedFilesToIgnore Table (PATCHWIZ.DLL)
- PatchMetadata Table (PATCHWIZ.DLL)
- PatchSequence Table (PATCHWIZ.DLL)
- Wilogutl.exe
- Errors Reference
- Glossary
-
Automation Interface