Inno setup 如何在inno安装程序中查找已安装目录?
我已经使用innosetup创建了一个安装程序。其中,用户可以通过设置DisableDirPage=No来选择要安装的目录,但当涉及到修补程序安装程序时,由于用户已将应用程序安装到其首选目录,因此无法更新。如何使安装程序识别应用程序已安装在哪个目录,并使修补程序安装程序工作 安装程序代码:Inno setup 如何在inno安装程序中查找已安装目录?,inno-setup,Inno Setup,我已经使用innosetup创建了一个安装程序。其中,用户可以通过设置DisableDirPage=No来选择要安装的目录,但当涉及到修补程序安装程序时,由于用户已将应用程序安装到其首选目录,因此无法更新。如何使安装程序识别应用程序已安装在哪个目录,并使修补程序安装程序工作 安装程序代码: [Setup] AppName=My Program AppVersion=1.5 DefaultDirName={pf}\My Program DefaultGroupName=My Program Uni
[Setup]
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
UninstallDisplayIcon={app}\MyProg.exe
Compression=lzma2
SolidCompression=yes
OutputDir = c:\test
OutputBaseFilename=update
DisableDirPage=No
[Files]
Source: "MyProg.exe"; DestDir: "{app}"
Source: "MyProg.chm"; DestDir: "{app}"
Source: "Readme.txt"; DestDir: "{app}"; Flags: isreadme
[Icons]
Name: "{group}\My Program"; Filename: "{app}\MyProg.exe"
如果我没看错你的话,你说的是你自己应用的setuo。您可以将
UsePreviousAppDir
指令放入[Setup]
部分。它不是必需的,因为它的默认值无论如何都是“yes”。文档()说明安装程序正在查找相同的应用程序,该应用程序由AppId
或AppName
定义
只要像在示例代码中一样使用
AppName=My Program
,Inno安装程序就应该找到旧版本本身的安装路径。但是如果新版本中的AppName
或AppId
发生更改,则无法在注册表中找到它。如果每次设置都使用新的guid,则可能会更改AppId
。如果我没有正确理解您的意思,则您正在谈论自己应用程序的setuo。您可以将UsePreviousAppDir
指令放入[Setup]
部分。它不是必需的,因为它的默认值无论如何都是“yes”。文档()说明安装程序正在查找相同的应用程序,该应用程序由AppId
或AppName
定义
只要像在示例代码中一样使用
AppName=My Program
,Inno安装程序就应该找到旧版本本身的安装路径。但是如果新版本中的AppName
或AppId
发生更改,则无法在注册表中找到它。如果每次安装都使用新的guid,则可能会更改AppId
。这显然取决于您正在修补的应用程序(及其安装程序),您没有告诉我们。不过,请看,这显然取决于您正在修补的应用程序(及其安装程序),您没有告诉我们。不过,请看