我创建一个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