我正在尝试设置一些启动条件,所以我只是负责一些注册表,如果它们存在,安装可以继续.如果不是,它应该停止..。
问题是它不起作用..。
<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>我found我需要在appSearch之后再做.所以我和虎鲸查过了..。但是自定义操作是在应用程序搜索和launchConditions之前计划的.所以应该没问题..。我还读到,变量名应该是大写.就像全球性的..。所以我做了但还是什么都没有..。
有什么帮助吗?谢谢
编辑:我忘了说的话..。如果我在状态下用MSGEOPATHV8代替MSGEOPATH,它会打印它找到的路径.
发布于 2013-08-09 08:15:06
好吧我解决了..。问题是我没有定义installationUI序列.
<InstallUISequence>
<Custom Action='caGeoPathV8' Before='LaunchConditions'>NOT Installed</Custom>
</InstallUISequence>就这样起作用了..。但还是不知道为什么?因为如果我是对的,是否每次都在执行?
https://stackoverflow.com/questions/18124614
复制相似问题