0

我正在使用 Visual Studio 2013 安装程序来打包我的应用程序。然后我制作 MSI 的副本,在 Orca 中打开它并删除所有对话框以创建一个静默包。所以我有两个应该是相同的MSI,除了一个是静音的,另一个不是。

当我使用 non-silent 包从以前的版本(以相同的方式构建)升级时,一切正常。

但是,当我使用静默包从以前的版本升级时,除了我在添加/删除程序中留下 2 个条目之外,它都可以正常工作。虽然这一切都有效,但对客户来说看起来很丑。当我卸载最新版本时,添加删除程序仍然在添加/删除程序中列出了以前的版本,尽管实际上仍然安装了最新版本。

正如我所说,非静默包运行良好,这让我认为我必须在 Visual Studio 中正确设置所有内容,而 Orca 必须做一些我不打算做的事情。

任何帮助将非常感激。

4

1 回答 1

0

如果您在“添加/删除程序”中有两个条目,则升级不起作用。一个常见的原因是其中一个安装是“所有人”,另一个是“我自己”。如果您删除对话框,那么您已经更改了设置 ALLUSERS 属性的行为,并且您的升级可能默认为 Just me。在没有决定使用这些选择之一的情况下,VS 设置使用 ALLUSERS=2 ,默认为每个用户 Just me install,这可能是原因。提升也涉及 - 如果特权状态不明确(并且在 MSI 设置中通常不是),VS 设置宁愿您的 MSI 做一个成功的 Just me 而不是失败的 Everyone。

您可能需要转到 Property 表并将 FolderForm_AllUsers 设置为“ALL”并将 ALLUSERS 设置为 1,以强制每台机器安装 Everyone。

你想让它安静到什么程度?如果它需要提升才能成功安装,那么您需要显示提升对话框,否则如果您强制每台机器每个人安装,安装将静默失败。

于 2016-07-29T18:21:46.097 回答