根据条件跳过某些自定义操作的安装

时间:2011-02-22 14:16:13

标签: visual-studio-2010 windows-installer custom-action launch-condition

我对Windows Installer完全不熟悉,所以请保持温和!

我希望在客户安装程序时安装一些驱动程序。但是,如果已经安装了驱动程序,我希望安装程序跳过该特定步骤并继续安装我的程序。

我尝试添加Windows Installer启动条件,该条件会搜索某个组件ID。 但是,当我尝试安装时,会显示错误消息并且安装程序退出 - 没有安装任何内容。 如果安装了驱动程序并不重要 - 我得到相同的结果。

任何线索?

提前致谢!

1 个答案:

答案 0 :(得分:1)

如果不满足条件,则启动条件将停止安装。这不是您需要的解决方案。

您可以尝试使用搜索来检测驱动程序是否已安装: http://msdn.microsoft.com/en-us/library/aa367579(VS.85).aspx

您还可以使用执行此搜索的立即自定义操作,并根据搜索结果设置安装程序属性。此自定义操作需要您编写的自定义代码。它可以是Win32 DLL:

http://msdn.microsoft.com/en-us/library/aa368338(VS.85).aspx

http://msdn.microsoft.com/en-us/library/aa367457(VS.85).aspx

http://www.advancedinstaller.com/user-guide/serial-number-validation-dll.html(示例C ++ DLL)

或VBScript: http://msdn.microsoft.com/en-us/library/sx7b3k7y(VS.85).aspx

这样,您可以使用自定义属性来调整自定义操作。例如,如果属性为空,则需要安装驱动程序。因此,您的自定义操作可以使用以下条件:

NOT MY_CUSTOM_PROPERTY

其中“MY_CUSTOM_PROPERTY”是您根据搜索设置的属性。