0

我需要维护由以前版本的 Visual Studio 安装程序 (msi) 创建的注册表项。

因此,例如,如果我有一个产品,产品名称为“产品 1”版本 1.0.1,它创建一个注册表项"HKCU\Software\Product 1",并在该注册表中创建一个值"Username“由已安装的应用程序更新。

已安装的应用程序将用户的用户名保留在其中"HKCU\Software\Product 1\Username",我现在需要使用Visual Studio Installer项目发布新版本,新版本的版本为 1.0.2。

如果我在安装程序项目中设置"RemovePreviousVersion"true,则删除以前版本创建的注册表项并删除存储的用户名,要求用户重新输入用户名。

如何在不删除注册表项和值的情况下卸载以前的版本"HKCU\Software\Product 1\Username"

4

1 回答 1

0

您是否只需要为新版本使用相同的用户名,还是希望将旧条目保留在注册表中?

如果你只是想读取用户名,所以你不要求用户再次输入,很简单。我在下面的SO 线程中解释了如何。

将旧版本的注册表保留在机器上有点棘手,我不建议这样做。正如我所看到的,您只想重新使用注册表中的该值,因为新版本将写回注册表。

于 2013-10-22T21:43:55.513 回答