Inno setup Inno安装程序在安装前检查文件位置,然后在安装过程中使用它

Inno setup Inno安装程序在安装前检查文件位置,然后在安装过程中使用它,inno-setup,Inno Setup,在使用inno setup安装程序的过程中,我需要检查文件的位置。然后,我需要inno安装程序使用该文件在“文件名”行中的位置来创建用于程序初始化的桌面图标。我有“图标”选项的代码可以正常工作,除了如何执行上述操作 这是我目前正在使用的代码行 Name: "{commondesktop}\SA - NH Bricscad V12"; Filename:"**c:\program files\septic assistant\new hampshire\support\**SA - NH Bric

在使用inno setup安装程序的过程中,我需要检查文件的位置。然后,我需要inno安装程序使用该文件在“文件名”行中的位置来创建用于程序初始化的桌面图标。我有“图标”选项的代码可以正常工作,除了如何执行上述操作

这是我目前正在使用的代码行

Name: "{commondesktop}\SA - NH Bricscad V12"; Filename:"**c:\program files\septic assistant\new hampshire\support\**SA - NH Bricscad V12.exe"; IconFilename: "C:\Program Files\Septic Assistant\New Hampshire\Support\Bricscadlogo.ico"; Comment: "Septic Assistant the only Septic Design Program"
Hi Lited部分是我需要inno安装程序搜索的exe文件的路径

我们将非常感谢您提供的任何帮助


Bruce

只需使用一个
{code:…}
常量和相应的
[code]
函数,该函数为
[Icons]
条目返回适当的路径。您可能还希望使用
检查
功能,以避免在找不到正确位置的情况下安装图标

另一个选项是使用
{reg:…}
常量,假设您尝试查找的路径是在注册表中的某个位置指定的(通常是这样)


如果在安装另一个应用程序时,尚未在注册表中明确指定路径,并且您没有其他方法快速识别另一个应用程序的位置(请注意,对用户的HD进行全局搜索不是有效选项),然后,您应该添加一个页面,提示用户自己输入位置(然后您可以验证他们是否选择了正确的位置)。您可以在Inno附带的
CodeDlg.iss
示例和ISXKB wiki中看到提示用户输入信息,然后使用该信息执行操作的示例。

+1,收回我编写的内容;很高兴学到新东西!我以前没见过这个。有官方的帮助页面吗?@miral我不是程序员,对Pascal代码一无所知。我创建了一个名为“bricscadir”的带有“#define”的变量,我在图标部分中为“Filename”设置了该变量。一切似乎都很好,但是我需要代码来找到[code]部分的“Bricscad.exe”目录。您是否可以帮我解决这个问题。@TLama:代码常量记录在帮助中;您几乎可以在任何接受其他常量的地方使用它们(通常仅限于接受字符串的位置,并且仅在运行时使用)。@snownut2:获得组织中程序员的帮助可能是个好主意——定制安装通常需要一些代码,尽管这相当简单。我最初的回答假设您已经有了找到正确使用路径的代码。如果路径是在注册表的某个地方指定的,我已经用另一个选项对其进行了更新。@Miral:我找到了问题的答案,使用图标行上的“useapppaths”标志,一切都很好。