任何验证之前的Windows Installer自定义操作

Mar*_*arc 2 windows-installer custom-action orca

我根据以下教程编写了一个Windows Installer自定义操作:http: //www.codeproject.com/kb/install/msicustomaction.aspx

我的自定义操作是杀死给定名称的后台进程,该进程仍可由用户打开.原因是我不希望用户看到给定EXE正在运行的警告,必须关闭才能继续安装.当MSI通过UI序列时,这可以正常工作,就像在教程中的"InstallUISequence"表中创建操作一样.
但是,当静默使用MSI(右键单击并选择修复或卸载)时,我的自定义操作当然不会执行.

我必须在哪里放置自定义操作,以便在静默运行时立即执行?

我尝试将其添加到"InstallExecuteSequence",但仍会显示"app running"警告.然后我尝试将自定义操作的序列号降低到5,但这也没有帮助.

注意:
我正在使用Orca来修改从Visual Studio安装项目生成的MSI.然后我使用转换文件来应用它.

sas*_*ont 6

您需要将操作安排两次,一次在UI序列中,一次在执行序列中,然后安排,以便它只在尝试执行它的第一个序列中运行.(例如 CustomAction/@execute='firstSequence'在WiX中)

更新:如果您正在使用Orca,请参阅自定义操作执行计划选项的文档,您只需确保该msidbCustomActionTypeFirstSequence位已设置.