Wix,customAction设置属性

时间:2013-08-08 11:16:15

标签: wix wix3.7

我试图设置一些启动条件,所以我只是看一些注册表,如果它们存在,安装可以继续......如果没有它应该停止...

问题是,它不起作用......

    <Property Id="MSGEOPATHV8">
        <RegistrySearch Id='msGeoV8_PathRegistry' Type='raw'
            Root='HKLM' Key='SOFTWARE\Bentley\MicroStation GeoGraphics\08.01' Name='PathName' Win64='no'/>
    </Property>

    <CustomAction Id="caGeoPathV8" Execute="firstSequence" Property="MSGEOPATH" Value="[MSGEOPATHV8]" />

    <Condition Message="[MSGEOPATH] Installation of requires previous installation of MicroStation GeoGraphics V8 or Bentley MAP XM/V8i.">MSGEOPATH</Condition>

    ...
    ...

    <InstallExecuteSequence>
        <Custom Action='caGeoPathV8' After='LaunchConditions' />    
    </InstallExecuteSequence>

I found我需要在appSearch之后执行此操作...所以我使用orca进行了检查...但是在应用搜索之后和launchConditions之前安排自定义操作....所以它应该没问题。 ..而且我读到可能变量名称应该是大写的...像全局......所以我做了它仍然没有......

有任何帮助吗? 感谢

修改 我忘了说...如果我在条件mesasage中用MSGEOPATHV8替换MSGEOPATH它实际上打印它找到的路径....

1 个答案:

答案 0 :(得分:2)

好的,我解决了......问题是我没有定义installUI序列......

<InstallUISequence>
        <Custom Action='caGeoPathV8' Before='LaunchConditions'>NOT Installed</Custom>
</InstallUISequence>

有了这个功能......但仍然不确定为什么?因为如果我是正确的,那么每次都在执行?