我正在努力使用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个参数,脚本应该只检查fill =>将文件复制到位于安装文件夹中的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确定,值将为null,具体取决于执行自定义操作的阶段。如果执行"初始化后#34;哪个不是最优的,那么sInstalldir值可用。参数仍为空。
我看到installscript语言提供了文件复制功能,如示例here,但我不知道如何使用LE版本创建其中一个脚本。
我即将放弃并切换到NSIS或Inno设置,因为我正在努力寻找答案。这对我来说是一种耻辱,因为我的安装文件工作正常。
答案 0 :(得分:0)
好的,这是我的调查结果的执行摘要:InstallShield限量版真的很有限。除了不提供检查基本先决条件的能力,例如" Office 2013"或" Office 2016"或者最近的Windows版本,参数注入根本不起作用。 我已安装Express版本,重新创建我的安装脚本并使用相同的VB脚本和相同的命令行,所有内容都像魅力一样。我唯一的问题是我只有21天或需要支付许可费。 我真的认为InstallShield LE令人困惑,而且Flexerasoftware的形象也不好...... 无论如何,我希望这篇文章可以节省一些人的时间。