我創建一個WiX的安裝程序檢查水晶報表的.NET Framework 4.0的安裝,需要檢查是否安裝了Crystal Reports for .NET的框架4.0(第13.0.3)的特定版本。如何在維克斯
我發現兩種方法都似乎工作(我的W7的機器上),但我不知道,如果一個或其他有什麼挫折,如在XP等
選項1(我關切地工作這個選項是,如果一個更新的版本中安裝了不同的產品代碼,這種情況將不會通過):
<Property Id="CRVSINSTALLED">
<RegistrySearch Id="CRVSInstalledSearch" Root="HKLM" Key="Software\Microsoft\Windows\CurrentVersion\Uninstall\{AAD476D7-FC64-40BC-85EA-0C1FD98D8375}" Name="InstallDate" Type="raw" />
</Property>
<Condition Message="You don't have Crystal Reports for Visual Studio 2010 (v. 13.0.3) installed.">
<![CDATA[CRVSINSTALLED]]>
</Condition>
選項2:
<Property Id="CRVSINSTALLED2">
<RegistrySearch Id="CRVSInstalledSearch2" Root="HKLM" Key="Software\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Crystal Reports" Name="CRRuntime32Version" Type="raw" />
</Property>
<Condition Message="You don't have Crystal Reports for Visual Studio 2010 (v. 13.0.3) installed 2.">
<![CDATA[CRVSINSTALLED2 >= "13.0.3"]]>
</Condition>
如果你決定使用上述註冊表檢查時,一定要考慮到的Crystal Reports 64位版本可能會在發揮作用。在相同的密鑰下,您將找到'CRRuntime64Version'的字符串值。 這樣看來,即使是本土VS2010引導程序檢查註冊表鍵。請參閱'Product.xml'文件的內容在'C:\ Program Files文件(x86)的\微軟的SDK \的Windows \ v7.0A \引導程序\軟件包\水晶報表的.net框架4.0' – Jaans 2012-10-24 10:19:41