我需要创建一个安装文件,它将检查注册表中另一个软件的版本。目前,我正在对单独安装的代码行进行注释和取消注释。如何将下面的条件转换为条件?
<!--<Property Id="ACADREG" Value="ACAD-A001:409" /> Autocad 2012-->
<Property Id="ACADREG" Value="ACAD-A004:409" /> <!--Autocad Arch 2012--> 我还需要在安装过程中获取用于以后的版本。
<Property Id="ACADROAMDIR">
<RegistrySearch Id="ROAMROOTDIR" Root="HKCU" Type="raw" Key="Software\Autodesk\AutoCAD\[ACADVER]\[ACADREG]" Name="RoamableRootFolder" />
</Property>
<Property Id="ACADDIR">
<RegistrySearch Id="AcadLocRegistry" Type="raw" Root="HKLM" Key="SOFTWARE\Autodesk\AutoCAD\[ACADVER]\[ACADREG]" Name="AcadLocation" />
</Property>有没有一种方法wiX可以通过读取注册表来设置ACADREG,而不是像上面那样设置它?
发布于 2012-05-27 06:36:53
如果定义了AutoCADArch2012,则似乎要重定义该特性,否则使用AutoCAD 2012。我遇到了类似的问题,我使用了我在这上面找到的解决方案,所以question
<Property Id="ACADREG" Value="ACAD-A001:409" /> <!-- Autocad 2012-->
<Property Id="ACADREG_ARCH" Value="ACAD-A004:409" /> <!--Autocad Arch 2012-->
<Property Id="ACADROAMDIR">
<RegistrySearch Id="ROAMROOTDIR" Root="HKCU" Type="raw" Key="Software\Autodesk\AutoCAD\[ACADVER]\[ACADREG]" Name="RoamableRootFolder" />
</Property>
<Property Id="ACADROAMDIR_ARCH">
<RegistrySearch Id="ROAMROOTDIR" Root="HKCU" Type="raw" Key="Software\Autodesk\AutoCAD\[ACADVER]\[ACADREG_ARCH]" Name="RoamableRootFolder" />
</Property>
<Property Id="ACADDIR">
<RegistrySearch Id="AcadLocRegistry" Type="raw" Root="HKLM" Key="SOFTWARE\Autodesk\AutoCAD\[ACADVER]\[ACADREG]" Name="AcadLocation" />
</Property>
<Property Id="ACADDIR_ARCH">
<RegistrySearch Id="AcadLocRegistry" Type="raw" Root="HKLM" Key="SOFTWARE\Autodesk\AutoCAD\[ACADVER]\[ACADREG_ARCH]" Name="AcadLocation" />
</Property>
<SetProperty Id="ACADROAMDIR" After="AppSearch" Value="[ACADROAMDIR_ARCH]">
ACADROAMDIR_ARCH
</SetProperty>
<SetProperty Id="ACADDIR" After="AppSearch" Value="[ACADDIR_ARCH]">
ACADDIR_ARCH
</SetProperty>之后,所需的属性将正确显示在ACADDIR和ACADROAMDIR中
https://stackoverflow.com/questions/8974488
复制相似问题