[wix-users] Bizarre behaviour in Bootstrapper/MSI with a prerequisite install
sogilvie at msn.com
Thu Aug 27 10:30:43 PDT 2015
Something bizarre that I haven't seen before...
One of the pre requisites for our installer is MS SQL Server Compact SP2 (We are installing SP2 CU2).
The Bootstrapper is:
<MsiPackage Id="C_SQLCompactx86" DisplayName="Microsoft SQL Server Compact 3.5 SP2 CU2 (x86)" DisplayInternalUI="no" Visible="yes" SourceFile="$(var.scSourcePath)\PreReqs\SSCERuntime_x86-ENU.msi" Name="RedistSuite\SSCERuntime_x86-ENU.msi" Cache="no" Compressed="no" Permanent="yes"/>
And since our customers will sometimes run our MSI's outside the Bootstrapper (GPO doesn't allow EXE's) I have code in the MSI to check for SQL Server Compact:<!-- Check for Microsoft SQL Server Compact 3.5 SP2 CU2 x86 --> <Property Id="SQLCOMPACTX86SEARCH" Secure="yes" Value="0"> <RegistrySearch Id="SQLCompactx86Search" Key="SOFTWARE\Microsoft\Microsoft SQL Server Compact Edition\v3.5" Name="Version" Root="HKLM" Type="raw" Win64="no"/> </Property>
<Condition Message="$(var.PlatformProductName) requires Microsoft SQL Server Compact 3.5 SP2 CU2 (x86). Please install the pre-requisite, then restart the setup."> <![CDATA[(Installed OR (SQLCOMPACTX86SEARCH >= "3.5.8082.0" AND NOT VersionNT64) OR (VersionNT64))]]> </Condition>
Our install failed in the MSI because it did not find the version 3.5.8082.0, the registry had 3.5.56xx.x..
So I ran the prerequisite MSI and it ran in maintenance mode so I ran a repair...
However after the repair, the version number in the registry got bumped up to 3.5.8082.0
I am baffled as to why it looks like an update occurred instead of a repair...
That was weird...
More information about the wix-users