【发布时间】: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