2

我需要在我的安装程序中设置启动条件,以防止用户直接运行 MSI 文件,除非他们正在运行卸载。(所有其他类型的安装都应该从引导应用程序运行,以确保满足所有先决条件。)

我需要什么条件来检查这个?我试过REMOVE="ALL" OR BOOTSTRAPBOOTSTRAP是我的引导应用程序在启动 MSI 时在命令行上定义的属性),但这也会触发修复安装,这是我不想要的。

4

2 回答 2

0

就我个人而言,我以不同的方式解决这个问题。我希望用户可能运行 MSI 而不是 SETUP.EXE,所以我故意使用 AppSearch 和 LaunchConditions 在 MSI 中复制我的所有引导程序先决条件检查。这样,如果他们跳过引导程序或者它以某种方式失败,我的 MSI 仍然可以发现问题。

我还遵循在我的条件下附加“或已安装”的做法,这样缺少的 prereq 就不会妨碍卸载。

于 2010-11-10T02:05:37.707 回答
0

据我所知,到目前为止,似乎没有办法阻止直接启动 MSI 时运行修复安装,所以我不得不添加OR REINSTALL="ALL"到我的启动条件中。如果有人知道一种允许仅通过引导程序完成修复的方法,将不胜感激。

于 2010-11-10T20:33:32.843 回答