1

直到我在设置属性值时遇到问题,这是 Bundle 包中其他属性的结果。我尝试使用 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”前缀的新属性。

我怎样才能做到这一点?

谢谢

4

1 回答 1

1

在 Wix 3.8.722 中,一项新功能允许您在 C# 中编写 BAFunction.dll 并在 OnDetectComplete 中读取属性(或直接读取注册表),然后为 Condition 设置属性。如果您使用来自 wixextba.codeplex.com 的 WixBalExtensionExt.dll,您也可以在 Wix 3.7 中执行此操作

于 2013-08-25T00:54:01.363 回答