我试图设置一些启动条件,所以我只是看一些注册表,如果它们存在,安装可以继续......如果没有它应该停止...
问题是,它不起作用......
<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它实际上打印它找到的路径....
答案 0 :(得分:2)
好的,我解决了......问题是我没有定义installUI序列......
<InstallUISequence>
<Custom Action='caGeoPathV8' Before='LaunchConditions'>NOT Installed</Custom>
</InstallUISequence>
有了这个功能......但仍然不确定为什么?因为如果我是正确的,那么每次都在执行?