直到现在,我在设置由Bundle package中的其他属性引起的属性值时遇到了问题。我试过使用CustomAction,但没有成功。在依赖于其他属性的包中设置属性值的正确方法是什么?
我的最终目标是检测VC++ 2010 SP1 Redistributable的存在。问题在于,用于检测的版本注册表项在版本号之前具有前缀"v“,例如"v10.0.40219.325”。
我做了测试,发现当前缀"v“存在时,以下表达式不能正常工作: InstallCondition="NOT VC10_RUNTIME OR (VC10_RUNTIME < v10.0.40219.01)">
所以我的想法是从注册表中提取MajorVersion,MinorVersion,Bld,Rbld的值,并将它们连接到一个新的属性中。然后,我将在InstallCondition和DetectCondition中使用这个没有"v“前缀的新属性。
我该怎么做呢?
谢谢
发布于 2013-08-25 08:54:01
在Wix 3.8.722中,一个新特性允许您在C#中编写BAFunction.dll,在OnDetectComplete中读取属性(或直接读取注册表),然后为条件设置属性。如果您使用来自wixextba.codeplex.com的WixBalExtensionExt.dll,您也可以在WiX3.7中做到这一点
https://stackoverflow.com/questions/18418555
复制相似问题