我在 Visual Studio 中编写了一个 C# 程序,它使用安装和部署项目来创建一个 .msi 安装程序。“InstallAllUsers”值设置为“True”,因此默认情况下会安装“Everyone”,但用户可以在安装过程中将其更改为“Just Me”。
它只是一个基本的安装程序 - 没什么特别的。
我的问题是:在他们安装程序之后,有没有办法告诉他们选择了哪个选项?是否有一个我可以挖掘的注册表项可以告诉我他们在安装过程中是选择了“Everyone”还是“Just Me”?我没有以编程方式添加任何注册表项,我可以找到我的程序的“卸载”键,但我不知道那里是否有一个值会告诉我。
* 编辑 *
为了更清晰的图片:
当我对我的程序进行更改时,我会增加版本号并将更新的 .msi 提供给用户,他们只是重新运行安装程序。最初应该只有几个用户,所以我没有制作复杂的更新程序。现在有很多用户,并且更新程序正在进行中。目前,当前用户对这个过程很满意——我给他们一个新的 .msi,然后他们再次运行它——除了一件事:安装程序不会“记住”他们上次运行安装程序时的设置(他们的话,不是我的)。我可以从“卸载”注册值中获取他们上次安装的目录,并使用 TARGETDIR 进行设置,因此我已经覆盖了安装路径。但我想弄清楚用户上次是否将“Everyone”更改为“Just Me”。