1

我在这里只需要一点保证。我正在创建一个基本的 C# 程序,除其他外,它将卸载并重新安装程序的最新版本(我无法将此功能构建到程序本身中)。我这样做的方式是:

MsiExec.exe /X{[UninstallString]} /passive

在命令提示符过程中。我有一些问题:

  1. 显然您不知道该程序的历史(我也不告诉您真相),但是对于每个版本,卸载字符串通常每次都相同吗?它会改变吗?
  2. 是否有任何可能的方式使卸载字符串意外成为另一台计算机上不同程序的字符串?我不想卸载其他任何东西。

基本上我只想知道这是否安全。如果没有,或者如果有更好的方式以编程方式执行此操作,请告诉我!谢谢!

4

1 回答 1

1

请参阅“卸载产品”;您可以指定一个 ProductCode,它根据定义是全局唯一的。因此,您不会卸载任何其他产品。您也可以指定 msi 文件名,但您必须更加小心,因为不同的产品可能会获得相同的文件名。所以使用 ProductCode 是最好的方法。

另请参阅升级、产品和包代码的用途是什么?

于 2013-02-09T10:06:54.833 回答