我需要在安装程序中设置启动条件,以防止用户直接运行MSI文件,除非他们正在运行卸载。 (应该从引导程序应用程序运行所有其他类型的安装,以便确保满足所有前提条件。)
我需要检查哪些条件?我试过REMOVE="ALL" OR BOOTSTRAP
(BOOTSTRAP
是我的引导程序应用程序在启动MSI时在命令行上定义的属性),但这也是在我不想要的修复安装上触发的。
答案 0 :(得分:0)
就我个人而言,我采用不同的方式。我希望用户可能运行MSI而不是SETUP.EXE,因此我故意使用AppSearch和LaunchConditions复制MSI中的所有bootstrapper prereq检查。这样,如果他们要么跳过引导程序,要么以某种方式失败我的MSI仍然可以解决问题。
我还遵循在我的条件中附加“或已安装”的做法,以便缺少先决条件不会阻碍卸载。
答案 1 :(得分:0)
据我所知,到目前为止,似乎没有办法阻止在直接启动MSI时运行修复安装,所以我不得不在我的启动条件中添加OR REINSTALL="ALL"
。如果有人知道只允许通过引导程序完成修复的方法,我将非常感谢您的解释。