【问题标题】:InstallShield Copy file from parametersInstallShield 从参数复制文件
【发布时间】:2018-02-13 06:16:03
【问题描述】:

我正在努力使用 InstallShield LE 创建一个简单的安装文件,允许在参数中传递 3 个特定文件。在查看了 InstallShield 论坛(不是很活跃)和 stackoverflow 问题后,如果有人能分享他/她的经验,我将不胜感激。

第一个障碍:了解如何在参数中传递文件?

MyAddin.exe /v"CONFIGFILE=C:\temp\Config.xml TEMPLATE1=C:\Templates\Template1.html TEMPLATE2=C:\Templates\Template2.html" /v"/qb"

一个。安装似乎执行得很好,但我不确定参数是否正确注入。有人可以确认吗? 湾。有没有办法让参数值包括空格(例如 C:\Program Files (x86))?


2n 障碍:如何将文件复制到目标文件夹 对于所有 3 个参数,脚本应该简单地检查是否填充 => 将文件复制到位于安装文件夹中的 Template 或 Config 文件夹。 为此,我认为唯一的选择是定义自定义操作:

所以我基于这个example 创建了一个简单的VB 脚本,它应该根据this 工作:

' Get the value of INSTALLDIR
Dim sInstalldir
Dim configFile
Dim Template1
sInstalldir = Session.Property("INSTALLDIR")
configFile = Session.Property("CONFIGFILE")
TEMPLATE1 = Session.Property("TEMPLATE1")

 ' Show it.
 MsgBox configFile
 MsgBox sInstalldir
 MsgBox TEMPLATE2

 ' @To to be completed
  If configFile != "" Then
     '.. copy to sInstalldir & "Config"
  If TEMPLATE1 != "" Then
     '... copy to sInstalldir & "Templates"

脚本执行但所有弹出窗口都是空白的:-/(似乎我不是唯一的one) 编辑:好的,根据this,该值将为空,具体取决于执行自定义操作的阶段。如果执行“初始化后”不是最佳的,则 sInstalldir 值可用。参数还是空的。

我看到 installscript 语言提供文件复制功能,如示例 here,但我不确定如何使用 LE 版本创建这些脚本之一。

由于我正在努力寻找答案,我即将放弃并切换到 NSIS 或 Inno 设置。由于我的安装文件完美运行,这对我来说将是一种耻辱。

【问题讨论】:

    标签: vb.net installshield file-copying


    【解决方案1】:

    好的,这里是我的发现的执行摘要:InstallShield 限量版真的......有限。除了不提供检查“Office 2013”​​或“Office 2016”或最近的 Windows 版本等基本先决条件的能力之外,参数注入根本不起作用。 我已经安装了 Express 版本,重新创建了我的安装脚本并使用了相同的 VB 脚本和相同的命令行,一切都像一个魅力。我唯一的问题是我只有 21 天或需要支付许可证费用。 我真的认为 InstallShield LE 令人困惑,而且 Flexerasoftware 的形象不好...... 无论如何,我希望这篇文章能节省一些人的时间。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-05
      • 2023-03-13
      • 1970-01-01
      • 2015-07-13
      相关资源
      最近更新 更多