【问题标题】:Can I have more than one {app} variable in Inno Setup?我可以在 Inno Setup 中拥有多个 {app} 变量吗?
【发布时间】:2013-05-11 00:02:20
【问题描述】:

我正在制作一个 inno 设置脚本。我的设置确实需要用户选择两个自定义安装位置。

但是 inno 中只有一个 {app} 变量。

我们的软件是一个音频插件软件,这个领域的常用方法是选择一个位置放程序,另一个位置放音频样本/数据(很大,所以用户通常希望安装在一个专门的位置存储和性能目的)。

有什么办法可以解决这个问题吗?

非常感谢!

【问题讨论】:

  • 不,您不能拥有多个{app}。但是,提供替代方案确实很困难,因为您的问题非常模糊且缺乏细节。您要究竟做什么,为什么需要两个{app} 目录?你能edit你的问题添加更多关于你想要做什么的细节吗?如果是这样,我们或许可以为您提供一些关于如何让事情发挥作用的建议。
  • 嗨,肯,谢谢小费。我已经扩展了一些解释。
  • Inno Setup 5\Examples文件夹中的CodeDlg.iss中有一个自定义用户数据目录的例子。

标签: inno-setup


【解决方案1】:

您可以使用许多其他变量(目录常量),最常见的是:

{app} - 应用程序目录(用户在向导对话框中选择此目录) 您可以创建像 {app}\Data

这样的子目录

{赢} 系统的 Windows 目录。

{系统} 系统的 System32 目录。

{pf} 程序文件。

{cf} 公用文件。

还有很多很多其他的。

现代安装程序将应用程序存储在一个目录中 - {app} 并将用户文件存储在每个用户的自定义目录中 - 例如{localappdata}

如果这还不够,您可以创建自己的对话框(向导页面),其中包含用于选择目录的编辑框和浏览按钮。

为此使用function CreateInputDirPage()

有关详细信息,请参阅手册 - Pascal 脚本:CreateInputDirPage。

【讨论】:

【解决方案2】:

查看包含的CodeDlg.iss 示例,该示例展示了如何为数据目录添加额外页面,以及如何在[Code] 中使用该值。

【讨论】:

  • 或者您可以使用hacky way选择目标位置向导页面上创建自定义目录输入项。但是,它会产生稍微不同的文件夹对话框浏览。 [+1ed]
猜你喜欢
  • 2011-01-01
  • 1970-01-01
  • 2020-12-19
  • 2018-11-05
  • 2013-04-13
  • 1970-01-01
  • 2015-06-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多