我正在尝试使用随WiX Toolset提供的VB Custom Action Project模板为安装程序(使用Advanced Installer构建)编写我的第一个自定义操作。基本上我只是想测试一台机器上的Ram的数量,以确定如果不存在,应该安装哪个版本的先决条件。
到目前为止(半伪代码)中的内容如下:
Public Class CustomActions
<CustomAction()> _
Public Shared Function CustomAction1(ByVal session As Session) As ActionResult
session.Log("Begin CustomAction1")
If New Microsoft.VisualBasic.Devices.ComputerInfo().TotalPhysicalMemory > [ram size here] Then
Return ActionResult.Success
Else
Return ActionResult.SkipRemainingActions
End If
End Function
End Class
我想知道的是,如果正在测试的计算机上的ram小于提示成功的结果,则返回ActionResult.SkipRemainingActions是正确的选择。
答案 0 :(得分:2)
这是我的2美分......如果条件不满足,我会终止安装。如果你使用你拥有的东西,那么安装仍将继续/跳过每个说明它实际上将跳过所有其他条件。当您使用“ActionResult.Failure”时,这将回滚安装。
我会用。 。
Return ActionResult.Failure
在旁注中,我会将其包装在Try / Catch中并抛出一条消息。 。
答案 1 :(得分:0)
这是一个错误的答案(虽然我同意ActionResult.Failure
的答案)。
正确的问题是在Windows Installer中检查总可用内存的最佳方法是什么。根据{{3}},答案是与Windows Installer Property Reference进行比较,正确的位置是PhysicalMemory,而不是自定义操作。