InstallScript数据类型套管

时间:2014-04-16 00:27:39

标签: types installscript

底线

我继承了一个相当大的InstallShield InstallScript安装程序,在处理其InstallScript(*.rul)源文件时,我注意到变量和参数数据类型'套管变化 - 出现是相同的数据类型。例如,我看到类型为numberNUMBERstringSTRING等的变量和参数。

在我的实验中,大写和小写之间的变化似乎似乎无法发挥作用;安装程序项目编译方式;但我不确定这个故事是否会有更多内容。

InstallScript数据类型的外壳是否重要?如果确实如此,何时以及如何重要?

进一步背景

来自.NET,C#和C ++ / CLI,我理解long and Int64 are comparable in C#, whereas long and Int32 are comparable in C++/CLI;但是每一对中的后者都是不同的,即使它只需要using命名空间的System指令。我想在InstallScript中使用类似的grok类型。

2 个答案:

答案 0 :(得分:1)

答案有时取决于

InstallScript语言参考的Data Types and Predefined Structures部分概述了数据类型大小写的规则,并指出某些数据类型可以用小写或大写字母输入"。

根据语言参考,超过2/3(13/18)的InstallScript数据类型在不区分大小写的情况下可以是大写或小写。

有趣的是,这些类型不能是混合大小写(即大写和小写的组合)。例如,String(与STRINGstring相比)会产生以下编译时错误:

Description                                     Error Code
----------------------------------------        ----------
'String': expected typedef (struct) name        C8017

同样根据语言参考,这里是区分大小写的(只有1/3(5/18))数据类型,只能是大写:

  • BOOL
  • HWND
  • LIST
  • LPSTR
  • LPWSTR

以小写形式输入这些数据类型会产生如下所示的编译时错误:

Description                                     Error Code
----------------------------------------        ----------
'bool': expected typedef (struct) name          C8017

除此之外,在允许的情况下是否使用大写或小写是优先考虑的问题。

答案 1 :(得分:0)

让我加上这个作为单独的答案来列出一些好的信息来源。

检查常见的Installshield运行时错误和错误:http://consumer.installshield.com/common.asp?source=all。正如我所说,基本MSI非常好,只需要避免使用Installscript MSI。

Installshield社区也很好:http://community.installshield.com/。正如Stefan Kruger(MSI MVP)installsite.org和社区forum.installsite.org一样。