InstallShield自定义对话框以及问题

前言:由于项目需要,而Installshield中的界面没有我们想要的,就需要定制一套了,也在网上看了很多资料,现在项目做的差不多了,总结一下

网上有很多Installshield高手的文章,都可以参考一下,先推荐一篇: InstallShield自定义安装界面, 是Kevin.Wan写的,主要是替换InstallShield界面的一些图片。

当然还要感谢群友的帮助,还有单车兄总结的文档,非常实用。


1. 在自定义对话框的时候,无意中看到了InstallShield的一些示例以及文件,可以参看InstallShield界面中的Tools-->InstallScript-->Stand Dialog Sampler,里面有很多内嵌的对话框,可以参看然后选择自己需要的,近似于需求的对话框。比如我们项目中需要做的是类似于AskOptions(NONEXCLUSIVE)的对话框,里面需要把上面的描述字符串都替换掉,而且需要添加新的一段话,后面会详细描述。



2.  还有些示例工程也可以参照学习, 具体是在安装目录下的InstallShield\xxxx\Samples,里面有InstallScript, Sample Data, WindowsInstaller目录,我们的工程类型主要是InstallScript MSI Project,所以主要参考InstallScript目录下面的示例。主要是看Serial Number Validation Sample Project.ism这个工程,它自定义了SdCustomRegisterUserEx这个对话框,可以作参考。


3. 在InstallShield的安装目录下面,InstallShield\xxxx\Script\Isrt\src,里面有很多源代码也可以参考,参照步骤1里InstallShield里面的标准对话框,可以查看相应的源码。


4. 现在来看Serial Number Validation Sample Project.ism项目中的自定义对话框,是在脚本Custom_Password.rul中,主要函数代码如下:

#define SD_DLG_CUSTOM_REGISTERUSEREX   "SdCustomRegisterUserEx"
#define SD_NDLG_CUSTOM_REGISTERUSEREX   22002
#define SD_EDIT_CUSTOM_NAME             301
#define SD_EDIT_CUSTOM_COMPANY          302
#define SD_EDIT_CUSTOM_SERIAL_1         101
#define SD_EDIT_CUSTOM_SERIAL_2         102
#define SD_EDIT_CUSTOM_SERIAL_3         103
#define N_REQ_LENGTH_OF_SERIAL_1        6
#define N_REQ_LENGTH_OF_SERIAL_2        4
function  SdCustomRegisterUserEx ( szTitle, szMsg, svName, svCompany, svSerial_1, svSerial_2, svSerial_3  )

        STRING  szDlg, szTemp;
        BOOL    bDone;
        NUMBER  nId, nMessage, nTemp, nSdDialog, nSdCustomRegisterUserEx;
        HWND    hwndDlg, hwndControl;

        begin
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值