Innosetup中名称已更改的应用程序的DefaultDirName



我正在尝试更改应用程序的名称,但保留相同的GUID。所以,让我们早些时候说,我的应用程序名称是"abc",我的设置部分看起来像

[Setup]
DefaultDirName={pf}abc
DefaultGroupName=abc

现在,将我的应用程序名称更改为"xyz",我的设置部分看起来像

[Setup]
DefaultDirName={pf}xyz
DefaultGroupName=xyz

我有逻辑来检测abc是否通过检查注册表安装-

 SOFTWAREMicrosoftWindowsCurrentVersionUninstall{AppId}_is1

我手动停止应用程序,删除文件,注册表项(我不调用卸载程序,因为我需要避免服务被停止)。

现在,当我重新安装"xyz"时,"选择目标位置页面"中的目标目录正确地为"Program Files\xyz",但如果之前安装了abc,并且我尝试在其顶部安装xyz,则默认目录指向"Program Files\abc"。组名也是如此。

如何强制安装始终将DirName作为xyz。我需要为此更改GUID吗?

您应该将UsePreviousAppDir设置为No。这将阻止安装获取以前的安装目录,并将其发送到新目录。

如果已经安装,最好保持相同的目录。当自定义快捷方式或数据位置不再工作时,这将减少用户的意外。这也将使用新产品名称进行新安装。

如果它真的是一个不同的版本,那么它应该能够并排安装,并有一个新的应用程序ID。

相关内容

  • 没有找到相关文章

最新更新