While simple ways to pass settings to the .msi installer are shown in a previous entry there are limitations where these can be used. In this article, I describe how to prepare a transform file and test it for deployment using group policies.
To get started, we need the 2X client and Microsoft’s Orca tool. The 2X Client can be freely downloaded here.
Next, we use the Windows SDK platform, downloadable here. When installing the platform, be sure to only install the tools shown under the Microsoft Windows Installer SDK option, as shown.
You will find the “ORCA.msi” file under the C:Program FilesMicrosoft Platform SDKBin folder. Install this tool, select Next and accept the necessary agreements.
Once Orca is installed, install the 2X Client and begin through the process shown below:
Once the 2X Client is installed, you will be prompted to setup a connection.
Having configured the connection, log on and ensure your connection settings are correct.
Export your settings by choosing File, then Export Settings and save the “.2xc” file.
Once you have saved the “.2xc” file, open the Orca “.msi” editor. You should then see the following window:
We can now open the 2X client “.msi” file:
Once opened, the Orca screen will appear as follows:
A transform is a collection of file changes, similar to recording a macro. We can now change the file’s properties to reflect the alternate settings we want to push, and can use transforms to store the changes.
We now choose to produce a new transform, as shown:
Select the “Property” option on the left pane of the Orca interface:
On the right pane, right click on the bottom row, or elsewhere on the page, and click “Add Row” (this can be done using CTRL + R on the keyboard).
You should now see the “Add Row Interface”; here we can create a new property with the name DEFSETTXML (case sensitive).
Now opening Notepad, we can open the “.2xc” file and select all of the XML contents of the file.
The keyboard shortcut CTRL + A is the safest way to do this. The contents can then be pasted into the value field of the DEFSETTXML property we are creating.
Ensure the full XML contents were pasted (check for the </TuxSettings> closing tag at the end).
Once saved, the changed rows and/or cells are marked as transformed with a green box:
When confident we have embedded the new settings, we must tell the 2X Client to override any settings already in place on the target client; otherwise, local settings will not be overwritten if a previous configuration exists on the client machine. To do this, we set the OVERRIDEUSERSETTINGS value, which is 0 by default, to 1:
Another green box shows the transform has been updated. We can now save the transform to a new file with the “.mst” extension. To do this, we choose Transform, then Generate Transform, as shown below:
We then save the file:
To test the transform, share both the 2X Client (“.msi”) file and the Microsoft Transformation (“.mst”) on the network. From a target machine, open the command line and type the following:
C:>msiexec /i “q:shared2XClient 8.1.924.msi” TRANSFORMS=”q:shared2X Test Connection.mst”
(Replacing q:shared2XClient 8.1.924.msi and q:shared2X Test Connection.mst with your specific file paths)
This action will install the 2X Client and ask for the password to our saved connection:
This “.mst” file can now be deployed with GPO without touching the original “.msi” file signed by 2X, leaving the signing intact.
To add a transform to application packages when deploying with Group Policies, you must follow these brief steps:
1. Open Group Policy Software Installation.
2. In the console tree, right-click Software installation, point to New, and then click Package.
3. In the Open dialog box, click the Windows Installer package, and then click Open.
4. In the Deploy Software dialog box, click Advanced, and then click OK.
5. In the properties dialog box for the package, click the Modifications tab.
6. To add modifications, click Add. In the Open dialog box, browse to the transform file (“.mst”), and then click Open.
7. Click OK.
More information regarding this process will be presented in future articles.