Installshield Installscript属性

时间:2015-11-09 21:56:24

标签: installshield installscript

我们的产品有Installshield 2009。我试图通过它来进行一些更新(显然,我不是原作者)。

在内部,有一个相当复杂的组件和文件排列,另外,还有一个脚本部分用于一些自定义工作。

我需要完成以下操作,而不在存储库中创建空白对象。

  1. 其中一个组件需要创建一个目录树(两个文件夹深)。

  2. 在该树(最深的文件夹)中,我需要创建一个空白文件。

  3. 问题:

    1. 我是否需要创建两个组件,每个目录级别一个,或者如果我指定[INSTALLDIR] folder1 \ folder2,是否会创建树?

    2. 我认为installscript将是创建空文件的地方,基于帮助中的CreateFile示例。我注意到,在组件页面中,一旦我输入了Destination属性的值,就会在开始{FOLDER2}处出现一些“标签”。我可以使用该标记作为CreateFile的参数吗?我将如何引用它?

1 个答案:

答案 0 :(得分:1)

无论项目类型如何,我都建议在“文件和文件夹”视图中创建文件夹结构,并在那里添加空文件。这很简单,你就可以减少出错的几率。

对于您提出的问题,基本MSI和InstallScript项目都不需要系统上每个文件夹级别的组件。请注意,如果文件夹在执行时尚未存在,则CreateFile方法不太可能为您创建文件夹。

在基本MSI项目中,{FOLDER2}表示FOLDER2是目录条目的名称,在CostFinalize之后将有一个包含其运行时位置的同名属性。您可以使用MsiGetProperty在InstallScript自定义操作中检索它。在纯粹的InstallScript项目中,方法会有所不同,最糟糕的情况是TARGETDIR ^ "folder1" ^ "folder2"(我的InstallScript生锈)。