C# 从注册表卸载字符串是否始终相同?

C# 从注册表卸载字符串是否始终相同?,c#,command-line,registry,uninstallation,uninstallstring,C#,Command Line,Registry,Uninstallation,Uninstallstring,我只是需要一点安慰。我正在创建一个基本的C#程序,除其他外,它将卸载并重新安装程序的最新版本(我无法将此功能构建到程序本身)。我的做法是: MsiExec.exe /X{[UninstallString]} /passive 在命令提示过程中。我有几个问题: 很明显,您不知道程序的历史(我也不想告诉您真相),但是对于每个版本,卸载字符串通常都是相同的吗?它变了吗 卸载字符串是否有可能意外成为另一台计算机上不同程序的字符串?我不想卸载其他任何东西 基本上我只是想知道这是否安全。如果没有,或者有更

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

MsiExec.exe /X{[UninstallString]} /passive
在命令提示过程中。我有几个问题:

  • 很明显,您不知道程序的历史(我也不想告诉您真相),但是对于每个版本,卸载字符串通常都是相同的吗?它变了吗
  • 卸载字符串是否有可能意外成为另一台计算机上不同程序的字符串?我不想卸载其他任何东西
  • 基本上我只是想知道这是否安全。如果没有,或者有更好的编程方式,请告诉我!谢谢

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

    另请参见

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

    另见