This PowerShell module is a simple wrapper around the open-source project called the “Wix Toolset“. This is an excellent project that creates MSI files for application installs using a series of files that describe how the MSI file should be generated in a complex XML file format. It is well worth considering using the project natively before using this PowerShell module as it has a lot of additional functionality that is not currently covered in the PowerShell module. However, if your needs for creating MSI files is limited to the following components then you can use the scripting module:
- Files
- Directories (and all their child directories and files)
- Registry Entries
- Shortcuts
- Icons
- Windows Services
- Folder Permissions
Prerequisites
The PowerShell module builds the Wix project (which then builds your MSI), uses MSBuild.exe. The easiest way to get this installed is to install Visual Studio – Any version, including the free community edition – You don’t need to open Visual Studio, but it does need to be installed.
You DO NOT need to install any Wix Toolset software – that magic of modern software development will take care of that and install the necessary Nuget packages just in time to compile the MSI.
Known Issues
- There is no current GUI during the MSI installs. To change the installation folder, you would need to include this detail in the command line of MSIEXEC.
- No support for multi-string registry keys, only DWORD and REG_SZ are currently available.
- Other stuff we haven’t spotted during our limited internal testing.
Release Notes
v1.0.2 – 2023-05-25
- FIX – Updated data type from Get-MSIProductCodeFromMSI to String – It way returning an Array of type object.
- FEATURE – Added Get-MSIProperty function – This should allow any Property value to be returned from an MSI.
- FEATURE – Add-MSIProperty and Update-MSIProperty functions added to create new properties or update existing properties in MSI files – This should help creating MST transform files (MST)
- FEATURE – New-MSITransform function added. Create an MSI, update it with the Add-MSIProperty and Update-MSIProperty functions (or ORCA, etc.), and then use the original and modified MSI files to create an MST transform.
v1.0.1 – 2023-05-18
- FIX – MSI version now updates correctly when version is incremented.
- FEATURE – Added Get-MSIProductCodeFromMSI function to module.
- FEATURE – Added support for creating directory properties such as INSTALLFOLDER for use in the MSIExec command line. For example:
MSIExec.exe /i MyMSIFile.msi INSTALLFOLDER=”C:\StrangeInstallFolder” /qb
v1.0.0
Initial Release
Installation Media
Just unzip the archive below and install the MSI file.
Usage Instructions
Currently we have no formal documentation of the product, but you can see it working with examples and some background information in our initial blog post here.
You must log in to post a comment.