摘要:在InstallShield工程中,如果我们添加了Merge Module并自定义其安装路径,长度受限,只能接受51个字符,见下图:解决方法如下:第一步:首先在Components视图中添加一个空的Component,然后指定其安装路径(这里就指定Merge Module要安装的路径),之后注意这个Components的Destination属性,见下图:注意这里用大括号{}括起来的红色部分。第二步,在Merge Module的Property界面中,指定Destination的路径,从下拉菜单中选择[MERGE_MODULE_SAMPLES]这项(其与前一步红色部分内容一致)。上述方法只对I 阅读全文
Basic INFO:InstallScript工程中安装包写入的默认注册表信息如何删除
2011-03-09 12:08 by Kevin.Wan, 1346 阅读, 0 推荐, 收藏, 编辑
摘要:在InstallScript工程中,默认情况下,安装包会在注册表中写入如下键值:HKEY_LOCAL_MACHINE\SOFTWARE\{公司名}\{产品名}\{产品版本}安装打包人员可能会通过其他方式向注册表中写入产品信息或者干脆不写,所以默认这部分信息就显的多余,所以我们可以在不需要它的情况下去掉。具体操作方法是:在OnMoveData事件响应函数中将CreateInstallationInfo(); 这段注释掉即可。注意:此方法只适用于InstallScript工程类型,对InstallScript MSI无效。版权声明: 转载时请务必以超链接形式标明文章原始出处和作者信息 阅读全文
INFO:InstallShield Express版本不支持64位安装包制作
2011-03-05 23:13 by Kevin.Wan, 1517 阅读, 0 推荐, 收藏, 编辑
摘要:有一些朋友在使用InstallShield Express版本,对于这些朋友来说,如果想实现64系统的支持,那必须升级到Professional或Premier版本。详细见InstallShield的Feature说明:http://www.flexerasoftware.com/products/installshield/features.htm 阅读全文
INFO:InstallShield工程中System Search的使用注意事项
2011-03-04 15:27 by Kevin.Wan, 954 阅读, 0 推荐, 收藏, 编辑
摘要:应用程序运行往往有一些环境依赖,所以我们会在安装包中设置安装条件,满足条件的情况下才继续安装,否则提示用户并退出安装。在InstallScript MSI和Basic MSI工程中,我们可以在Project Assistant的Installation Requirements设置界面中, 通过左上角的Create a custom software condition来添加。1. 设置查找项,我们选择Registry entry2. 设置注册表键值等内容,这里我们在Local Machine下查找,键为:SOFTWARE\Kevin Wan\System Search Wizard,键值为I 阅读全文
HOWTO:InstallShield的Basic MSI工程中如何增加序列号输入选项
2011-03-04 10:35 by Kevin.Wan, 2049 阅读, 0 推荐, 收藏, 编辑
摘要:在Basic MSI的工程类型中,序列号输入功能默认已经在CustomerInformation界面中实现,所以只需要通过如下设置,即可将序列号输入添加到您的工程中:1. 在Installation Designer的Dialogs视图中,找到CustomerInformation界面,选择序列号输入框,之后在右侧Mark属性中指定序列号模板(例如:????-????-???????,“?”代表可以接受数字和字符,如果设置为“#”,则只能接受数字)。2. 在Property Manager中添加ISX_SERIALNUM Property(InstallShield中默认添加一个Proper. 阅读全文
Basic INFO:安装包卸载之后为什么目标机上有文件残留
2011-03-01 11:44 by Kevin.Wan, 1558 阅读, 0 推荐, 收藏, 编辑
摘要:鉴于安装打包过程中,经常会有一些基本知识,在各种交流场合总是被不断问及,所以计划陆续写一些相关文章。今天的主题是《安装包卸载之后为什么目标机上有文件残留》。卸载后文件残留有很多原因,我归纳为以下几类:1. 卸载时程序正在运行、或文件正在占用。2. 非InstallShield标准框架内添加安装的文件,比如我们通过脚本代码或第三方程序在安装过程中复制到目标机安装路径下的文件。3. 应用程序在运行过程中产生的文件,这部分也不会被删除,非安装包安装的文件自然不会在卸载时删除。4. 在InstallShield工程中,将Component的Uninstall属性设置为Yes。出现上述情况,还需要清除安 阅读全文
INFO:InstallShield工程中如何让安装包初始化界面隐藏
2011-02-28 15:12 by Kevin.Wan, 3084 阅读, 1 推荐, 收藏, 编辑
摘要:关于安装包中如何隐藏初始化对话框,一直有朋友在问,今天受网友眼泪成诗和马修的启发,并查看InstallShield帮助文档《Setup.exe and Update.exe Command-Line Parameters》一节,现简单总结如下:在InstallShield制作的安装包中,可以通过参数hide_progress隐藏启动初始界面,但工程不同,应用方法不同:InstallScript工程:设置方法:在Installation Designer-> Media -> Releases -> Release * -> Setup.exe选项卡中,Setup Com 阅读全文
HOWTO:在Visual Studio中如何创建或打开InstallShield工程
2011-02-25 11:42 by Kevin.Wan, 1268 阅读, 0 推荐, 收藏, 编辑
摘要:InstallShield一直以来,都能够与Microsoft Visual Studio很好的集成在一起,这边便于开发者集中管理项目工程以及编译、封装。在Visual Studio中创建InstallShield工程:1. 在工具菜单File项中选择New,点击Project,打开一个New Project对话框。2. 在Visual Studio 2010中,在Installed Templates选项中,点击InstallShield 2011,之后选择工程类型。注意:如果是Visual Studio 2010之前的版本,此处操作步骤稍有差别,在Project Templates选项中, 阅读全文
INFO:是否以管理员权限启动InstallShield的区别
2011-02-25 11:08 by Kevin.Wan, 2160 阅读, 0 推荐, 收藏, 编辑
摘要:在Vista和Windows 7平台上,是否以管理员权限启动InstallShield是有很大不同的,如果不用管理员权限启动InstallShield,则如下一些功能将无法使用:1. COM的抽取2. 可分发部署包的下载3. 指定InstallShield Prerequisites的位置4. 指定Merge Modules的位置5. 指定DIM文件的位置6. 编辑指定Regasm.exe和InstallUtilLib.dll文件的位置7. 指定InstallShield升级检查的频率版权声明: 转载时请务必以超链接形式标明文章原始出处和作者信息 阅读全文
INFO:InstallShield安装包能否制作一个32/64位都支持的统一安装包
2011-02-25 09:43 by Kevin.Wan, 5860 阅读, 1 推荐, 收藏, 编辑
摘要:随着Windows 7发布以来,使用64位系统的终端用户越来越多,很多平台电脑出厂预装的就是64位Windows系统,64位系统正逐步得到普及,很多软件产品厂商需要将他们已有的应用程序扩展到64位平台上。除了应用程序本身需要支持64位外,随之带来的问题是安装包也需要支持64位。InstallShield本身支持64位安装包的封装,但在最终封装时,大家都希望能将32位和64位的应用封装到一个安装包中,这样便于软件传播,分发,但“希望很美好,现实很无奈”,无法将其封装到一个安装包文件中。在Template Summary属性设置项中,我们必须指定是支持x86,或x64或Intel64,这是一个排他 阅读全文
HOWTO:InstallShield工程中如何使得动态文件链接方式也可以创建快捷方式
2011-02-24 14:40 by Kevin.Wan, 1478 阅读, 0 推荐, 收藏, 编辑
摘要:在InstallShield使用过程中,大家都了解如果文件是动态链接添加,则无法创建快捷方式,原因就是没有Key File。解决了Key File,也就是解决了快捷方式的创建。例如我们需要将Bin目录下的MyMainApplication.exe设为Key File,但Bin文件下的所有文件又想要通过动态链接方式添加,操作方法如下:1. 添加一个Component,通过静态链接方式添加MyMainApplication.exe,并将其设为Key File。2. 添加一个Component,通过动态链接方式添加Bin目录下的所有文件,并在过滤Exclude files with the foll 阅读全文
NEWS:Flexera Software发布AdminStudio 10
2011-02-24 10:54 by Kevin.Wan, 1018 阅读, 0 推荐, 收藏, 编辑
摘要:Flexera Software近日发布IT维护管理软件AdminStudio 10。AdminStudio 10.0包括以下新功能:• New “Application-Centric” Organization Model in Application Manager• Import Microsoft App-V Packages Into Your Application Catalog and Manage All Data• Advanced Reports and Dashboards• Application Compatibility Testing with Compati 阅读全文
INFO:InstallShield制作的多语言安装包中如何获取用户选择的语言
2011-02-21 10:47 by Kevin.Wan, 2050 阅读, 0 推荐, 收藏, 编辑
摘要:这是一个非常基本的应用,对于多语言安装,在有些情况下需要在脚本代码中获取用户安装时所选择的语言。对于不同的InstallShield工程类型,方法不同。InstallScript和InstallScript MSI类型的工程:可以用系统变量SELECTED_LANGUAGE。Basic MSi工程:需要通过MsiGetProperty获取PropertyProductLanguage的值,在实际应用中,由于Property值是一个STRING类型的语言ID,还需要将其转换成数值,语言ID见随机帮助文档“Language Identifiers” 一节。 阅读全文
INFO:InstallShield单机版授权的注意事项
2011-02-16 12:03 by Kevin.Wan, 1961 阅读, 0 推荐, 收藏, 编辑
摘要:在InstallShield 2011的帮助文档中,开始一节说明了InstallShield的产品激活,其中有些内容我认为有必要拿出来与大家分享。InstallShield 2011的授权方式有两种:单机版授权(Node-locked licensing)和 浮动版授权(Concurrent licensing)关于这两种授权方式的比较,我这里就不再说了,之前我的博文《InstallShield浮动License介绍》中有过说明。下面重点说明一下单机版授权的生命周期中几个注意需要注意的内容:产品激活(Product Activation),产品重新激活(Product Reactivation 阅读全文
INFO: 安装包卸载重启后,报错找不到文件
2011-01-25 15:51 by Kevin.Wan, 1017 阅读, 0 推荐, 收藏, 编辑
摘要:今天在QQ群里有朋友反馈,说卸载了安装包之后,重启系统报错,提示文件找不到,具体见【原创】InstallSheild使用问题笔记-卸载程序之后重新启动,总是报错找不到文件?分析原因是卸载已经完成,但InstallShield向系统注册表中Runonce增加了一个卸载启动项所致(对应的文件已经不存在,自然会运行报错)。找了相关资料,发现这是InstallShield的一个Bug,多发生在升级工程中,目前的解决办法是在OnEnd事件响应函数中添加如下代码:Code highlighting produced by Actipro CodeHighlighter (freeware)http://w 阅读全文