InstallScript设置源文件和目录

时间:2014-03-09 11:18:50

标签: installation installshield installscript

是否可以在InstallScript中定义一个脚本,该脚本将路径作为命令行编译器的参数,在编译和构建安装程序之前,将查看该路径并从那里获取要安装的文件?

目标是能够使用命令行构建,可以从release文件夹安装文件的安装程序,以及用于调试目的的相同文件(相同名称)但来自调试目录

我找不到在Files and Folders

Application Data部分设置Installation Designer的方法

由于

2 个答案:

答案 0 :(得分:0)

我认为您可以使用自定义对话框和脚本来解决此问题。

首先,将Release和Debug文件夹添加到文件和文件夹。然后,创建一个包含2个选项的自定义对话框 - Release和Debug - 并编写一个脚本以删除Debug文件夹,如果在自定义对话框中选择了Release 删除Release文件夹,如果在自定义对话框。

答案 1 :(得分:0)

简答

您可以将路径变量用于要安装的文件的配置相关的可变位置(例如INSTALL_FILES_PATH)并在编译时设置其值。

要在编译时设置路径变量的值,请使用ISCmdBld.exe's -l <path variable>="new path" command-line parameter - 例如:

ISCmdBld.exe -l INSTALL_FILES_PATH="C:\Blah\Blah\Blah"

进一步说明

在项目的“组件或支持文件/广告牌”视图中,您可以在其中指定安装程序所需的文件,文件&#39; paths(在“链接到”列中)将利用路径变量(如果在设计时指定文件时将其设置为有效值)。 这是路径变量的编译时值的关键,它影响了查找文件的位置。

InstallShield GUI仅在支持文件/广告牌视图中明确说明(例如显示<INSTALL_FILES_PATH>\SomeFile.blah而不是C:\Blah\Blah\Blah\SomeFile.blah),但您可以确认组件和支持文件/广告牌视图都利用了项目&#39; .ism文件中的路径变量 - 例如:

<!-- ** Example 1 - a dynamic file link for DefaultComponent ** -->
<table name="ISDynamicFile">
    <col key="yes" def="s72">Component_</col>
    <col key="yes" def="s255">SourceFolder</col>
    <col def="I2">IncludeFlags</col>
    <col def="S0">IncludeFiles</col>
    <col def="S0">ExcludeFiles</col>
    <col def="I4">ISAttributes</col>
    <!-- * Notice the INSTALL_FILES_PATH path variable in the following file link. * -->
    <row><td>DefaultComponent</td><td>&lt;INSTALL_FILES_PATH&gt;</td><td>1</td><td>*.*</td><td/><td>2</td></row>
</table>

<!-- ** Example 2 - a support file link for Disk1 ** -->
<table name="ISDisk1File">
    <col key="yes" def="s72">ISDisk1File</col>
    <col def="s255">ISBuildSourcePath</col>
    <col def="I4">Disk</col>
    <!-- * Notice the INSTALL_FILES_PATH path variable in the following file link. * -->
    <row><td>NewDisk1File1</td><td>&lt;INSTALL_FILES_PATH&gt;\SomeFile.blah</td><td>1</td></row>
</table>

利用路径变量的组件文件链接将会#34;冒泡&#34;到你的项目的文件和文件夹视图 - 即使InstallShield GUI不会显示那么多(例如在链接到列中显示C:\Blah\Blah\Blah\SomeFile.blah而不是<INSTALL_FILES_PATH>\SomeFile.blah - 就像组件视图一样)。