I was recently working on an InstallShield 2011 ( Hotfix A ) Basic MSI project and I needed to add the Microsoft SQL CE 3.5 SP2 prereqs to my project. In doing so I’ve noticed a big problem:
1) InstallShield only provides a PRQ for the x86 redist not the x64 redist.
2) The PRQ provided for the x86 redist incorrectly filters out 64bit Windows Server 2003, Windows Vista and Server 2008 while correctly installing on 64bit Windows 7.
Per Microsoft, the following operating systems should be supported:
Supported Operating Systems:Windows 7;Windows Server 2003 R2 (32-Bit x86);Windows Server 2003 R2 x64 editions;Windows Server 2003 Service Pack 2;Windows Server 2003 Service Pack 2 x64 Edition;Windows Server 2008 R2;Windows Server 2008 Service Pack 2;Windows Vista Service Pack 2;Windows XP Service Pack 3
Also of note is that you must install both the x86 and x64 configurations on a 64bit edition of Windows:
On a 64-bit Computer, install both the 32-bit and the 64-bit version of the SQL Server Compact 3.5 SP2 MSI files. Existing SQL Server Compact 3.5 applications may fail if only the 32-bit version of the MSI file is installed on the 64-bit computer. Developers should chain both the 32-bit and the 64-bit MSI files with their applications and install both of them on the 64-bit Computer. Refer to the KB article or to the Install.txt file that is extracted with the MSI files for more information.
My guess is that is an allusion to yet more Bitness pain that I previously covered. Depending on whether your .NET EXE is compiled for x86, x64 or AnyCPU and what version of Windows you are running on it may need one version of the redist or the other version therefore both must be installed.