摘要: 很多朋友经常来问:为什么我用CopyFile/XCopyFile函数拷贝文件无效? 引起这种情况的原因有很多,今天略微总结了一下,欢迎各位朋友跟帖补充不完善的地方
阅读全文
摘要: Installshield获取安装包版本的系统变量为IFX_PRODUCT_VERSION 当笔记记下来,很简单的一个变量,不过IS里查系统变量是让人头大,知道就是知道,不知道查起来查死人
阅读全文
摘要: 32/64位问题要把握几点:1. 明确你的产品是否需要区分32/64位2. 明确你的产品中是否有32/64位的服务注册3. 了解InstallShield Build出来的安装包本身是32位应用程序4. 了解Windows 64位系统上的32位路径和64位路径差异以及如何在InstallShield的系统变量中找到对应的内容
阅读全文
摘要: 64位操作系统下拷贝文件重定向问题,在在复制代码前加上Disable(WOW64FSREDIRECTION);就可以解决64位系统默认复制到syswow64的问题但是注意:Disable(WOW64FSREDIRECTION); CopyFile( SUPPORTDIR^"MUCam32.dll", WINSYSDIR^"MUCam32.dll"); 是没有用的,WINSYSDIR64 才可以,WINSYSDIR 依然是32位路径。64位机器上的system32虽然写的是32,但。。。
阅读全文
摘要: 很多年前的一个秋天的下午,我在上一堂编程课,老师先让我们把编程工具装上。因为很多电脑比较破旧 ,安装纷纷出了问题,老师看看也来不及讲课了,索性一边帮我们装软件,一边讲起了安装的一些知识。 老师问:你们知道安装的本质是什么吗?
阅读全文
摘要: 首先建立一个Installscript Project在Installation Designer中,找到Behavior and Logic -> Install Script, 在Setup.rul中找到Before Move Data -> OnFirstUIBefore,找到Dlg_SdRegisterUser标签中一: 用nResult = SdCustomerInformationEx(szTitle,szName,szCompany,svSerial,bvAllUser);这行去代替nResult = SdRegisterUser( szTitle, szMsg, s
阅读全文
摘要: 这个问题新手问的很多,installshield的安装包默认设置下选择路径的界面藏在Custom安装类型下。在做完安装包后,点击执行,正常选择“下一步”“下一步”,来到Setup Type界面选择Custom类型,点击Next,就会出现选择路径的界面了。
阅读全文
摘要: 是一些平时搜集的小知识点,都是网友解决某个小问题时候的一些小代码之类的,搜集起来,以备不时之需installshield 64位操作系统重定向installshield 64位操作注册表设置installshield 安装字体installshield 操作64位进程installshield 写pathinstallshield,disable一个控件Installshield操作注册表UACinstallshield创建文件夹快捷方式installshield发送消息停止强制重启动installshield关于再次分发的安装包installshield管理员身份注册表installshie
阅读全文
摘要: 很多朋友做安装包的时候,所打包的软件需要.NET Framework之类的环境,他们会检测系统是否已经安装了.NET,如果没有,则调用.NET安装包来安装。但是.NET安装完是需要重启动的,一般来说,我们都推荐使用/q/norestart的静默安装函数来使重启动推迟到安装结束时,使用如下:LaunchAppAndWait(SUPPORTDIR^"dotNetFx40_Full_x86_x64.exe","/q /norestart",WAIT);.NET在重启后才能生效,但是如果在安装完.NET之后的安装行为中立刻需要使用.NET特性,那么必须让先电脑重
阅读全文
摘要: 从做第一个打包程序到现在,陆陆续续也做了几十个安装包了,也帮助了不少朋友解决他们在制作安装包过程中的问题,也得到了不少朋友们在安装包方面的指导。人之患在好为人师,我也不例外,看得多了也想说两句关于打包方面的自己的想法,放大了说,也可以做到编程的一些参考。欢迎拍砖欢迎跟帖欢迎补充。1.如何入门?Installshield挺难的,资料少,没有中文版,而且做安装包的同仁也少。很多新手进入Q群,第一句话就是:各位大大,我要打包一个安装程序,要自动安装MySQL,初始化数据库,写配置文件,安装完毕还要自动启动一个服务等等,但是我对installshield一窍不通,有人能指点一下么?对这种同学,我一般都
阅读全文
摘要: IS脚本操作注册表在64位平台下必须有特殊的设置if (SYSINFO.bIsWow64) then //如果为64位操作系统 REGDB_OPTIONS = REGDB_OPTION_WOW64_64KEY ; //则为注册表操作进行64位特殊设置 endif;/**底下照常操作注册表即可*/
阅读全文
摘要: IS里调用外部文件的时候,一般都是用LaunchAppAndWait函数,比如if(LaunchAppAndWait (SRCDISK^"jdk\jdk-6u4-windows-i586-p.exe","", LAAW_OPTION_WAIT)<0)then MessageBox ("You haven't installed JDK 1.6.0_04 yet! ", INFORMATIO...
阅读全文
摘要: 有时候卸载installshield制作的安装包程序,卸载完会提示是否重启电脑以完成所有卸载,产生这个提示的常见原因有如下几种:1. 卸载时,程序正处于运行状态2. 卸载时,程序文件夹处于打开状态3. 卸载时,有文件被别的进程调用,或者在进程中,常见情况如dll在进程中一般来说解决办法是针对第三种情况的,解决办法是卸载时强制杀进程,比如在OnMaintUIBefore或者OnUninstall里写上强制杀进程的代码。对于第一种情况和第二种情况,如果是可交互的普通GUI程序,一般不予理会,因为这些行为是不能禁止的合理行为。IS操作系统进程的可以参阅我博客里另外两篇文章http://www.cnb
阅读全文
摘要: 本文经原作者ㄣ齊¨彡仯乄特许授权于海洋女神发布,转载请务必注明出处与链接;原作者ㄣ齊¨彡仯乄和海洋女神保留对该文的一切法律许可下的权益;需要发布在盈利性报刊、网站等请与原作者ㄣ齊¨彡仯乄或海洋女神联系. 简述 本文主要描述安装程序更新包的创建 制作更新包的主要属性 在给出升级包类型之前,首先说明几个概念: 1、Package code:从字面上理解就是包的代...
阅读全文
摘要: 在OnEnd里添加代码,两种解决方案群友kevin的解决方案#include "ifx.h" //Call to Windows used in the "OnEnd" function to refresh the desktop prototype Shell32.SHChangeNotify(LONG, LONG, POINTER, POINTER);// -- Add the follow...
阅读全文
摘要: 关于删除InstallShield文本,厂家给出不删除的四个理由:The InstallShield text may not be removed from the startup message or from the InstallShield Wizard dialogs for the following reasons:1.Millions of users worldwide rec...
阅读全文
摘要: 原帖地址:http://blog.csdn.net/emma_he/archive/2010/05/24/5620723.aspx命令行模式编译生成安装包,可以省去打开installshield IDE的麻烦(打开很慢啊~),尤其是在工程量多,修改文件少的,升级的情况。1.在IS12的help文档中,有明确的讲述,如何使用命令行的方式来编译工程Using ISCmdBld.exe to Build...
阅读全文
摘要: 未经许可,禁止转载!作者保留一切法律许可下的权益。从今天开始,海洋女神的博客里请到了一位精通Installshield的嘉宾Kevin,他将陆续为大家讲解Installshield方面的知识。熟悉InstallShield用户清楚有Basic MSI,InstallScript和InstallScript MSI三种工程类型可选择,如果你初次使用InstallShield,你可能面临一个问题,哪一...
阅读全文
摘要: To have the check box initially checked, use the Property Manager view of theInstallShield environment to set the property (CHECKBOXPROP) to the same valueyou defined in the check box control’s ...
阅读全文
摘要: 感谢2群群友山城浪子提供此函数此函数的作用在于截掉字符串头尾的空格,类似于java中的trimfunction string myTrim(srcStr) //头尾都截字符串 NUMBER i; string sRltStr1,sRltStr2,sTmpStr;begin //截取头部空字符 sRltStr1=""; i=0; while (i<=StrLength(srcStr)-...
阅读全文
摘要: 传送门:http://www.cnblogs.com/Cindy_weiwei/archive/2009/05/19/1460238.html第十小节“完美卸载”是有bug的,当用户使用完美卸载创建的卸载快捷方式进行卸载时,往往会发现开始菜单中会残留一个空文件夹,这是由于操作系统的账户引起的,你可以试着去手动删除一下这个空文件夹,操作系统会弹出一个警告“删除该文...
阅读全文
摘要: 喜欢打包和需要打包的朋友很多,所以一群(IS中文论坛官方QQ群)19622645早就爆满了,现在开设新群1367833,请新来的朋友加入二群,不要去一群了,谢谢
阅读全文
摘要: 使安装程序不管本机是否安装了程序,都进入“安装”状态,而永远不出现“修复、卸载”等界面第一种做法见http://blog.csdn.net/sding/archive/2009/05/02/4143097.aspx,原帖是传说中的大侠“吞硬币的小猪”写的,做法是在 General Information -> Proje...
阅读全文
摘要: 原帖地址:http://kb.flexerasoftware.com/selfservice/viewContent.do?externalID=Q106687环境:AdminStudio 7.x, AdminStudio 8.x, InstallShield 11.5 Premier, InstallShield 11 Premier, InstallShield 12 Premier, Ins...
阅读全文
摘要: 原贴地址:http://www.delphibbs.com/delphibbs/dispq.asp?lid=1048756我们公司的软件就是连同SQLSERVER一起打包,与微软有协议的我自己写了一个程序,来控制SQLserver7的安装,试了有一年了,基本都可以装上,没有大问题其实就是参考联机帮助的安装说明来做的以下附典型的无人值守安装脚本,安装时,通过参数告诉sql的安装程序使用这个脚本,并且...
阅读全文
摘要: 自己收藏的一些资料,都忘了是从哪里下载来的了,放在博客上共享之。是全英文版的。/Files/Cindy_weiwei/wp_is_MSIActionTypes-定制行为.pdf
阅读全文
摘要: 自己收藏的一些资料,都忘了是从哪里下载来的了,放在博客上共享之。是全英文版的。/Files/Cindy_weiwei/wp_is_CustomActions-序列和标准动作.pdf
阅读全文
摘要: 自己收藏的一些资料,都忘了是从哪里下载来的了,放在博客上共享之。是全英文版/Files/Cindy_weiwei/wp_is_MSIDesign-MSI打包白皮书.pdf
阅读全文
摘要: 自己收藏的一些资料,都忘了是从哪里下载来的了,放在博客上共享之。是全英文版的。/Files/Cindy_weiwei/wp_is_BuildingMSIUpdatesPatches-MSI更新和补丁包的制作.pdf
阅读全文
摘要: 自己收藏的一些资料,都忘了是从哪里下载来的了,放在博客上共享之。是全英文版的。/Files/Cindy_weiwei/IS_WP_Patching_Sept08-制作友好的更新.pdf
阅读全文
摘要: 实现方法:在project assistant里或者install design里随便建一个快捷方式,然后去install design里修改刚刚添加的快捷方式的属性,主要修改Target和Arguments两项。将Target 的内容改为[ProgramFilesFolder]Internet ExplorerIEXPLORE.EXE,即将快捷方式指向IE,然后将Arguments修改为网址,...
阅读全文
摘要: setup.rul的代码[代码]ShutDownRunningApp.rul的代码[代码]
阅读全文
摘要: 以Installscript msi project为例,在installshield所制作的安装包安装过程中显示安装进度的,就在OnFirstUIBefore中的Dlg_SdStartCopy界面中 Enable(STATUSEX); 这句话。要显示自己设置的信息,只需在这句Enable(STATUSEX); 后添加数句语句即可,举例如下: Enable(STATUSEX); /**当Statu...
阅读全文
摘要: 原帖地址:http://blog.csdn.net/fishout/archive/2009/11/09/4790564.aspx 在这一节里,我们讨论如何在安装目录的任意指定基础上实现实例名及sa密码的更改,这样,就继承了原有微软80多兆安装包的功能,但是,现有的安装包体积小多了,仅有原来的1/6,当然,这仅是全新安装而言,对于升级安装是不适应的,不过,实际上我们大多数时候都是使用全新安装,何...
阅读全文
摘要: 原帖地址:http://blog.csdn.net/fishout/archive/2009/10/28/4739269.aspx在这一节里,我们解决安装路径的更改问题。大家知道,MSDE2000安装后,数据库路径不能更改,这也是制约许多安装包无法与应用程序一并集成的首要原因,现在我们来解决这一个问题。 主要思路是通过分离msdb和model数据库,然后更改master数据库的系统目录指向,改为...
阅读全文
摘要: 原帖地址:http://blog.csdn.net/fishout/archive/2009/10/26/4730086.aspx在网上看到许多关于MSDE2000集成到应用程序中一并安装的文章,这些方法无一例外都使用了InstallShield中调用外部命令的方式,其本质就是在安装过程中调用LaunchAppAndWait函数执行MSDE2000的setup.exe程序,这样一来,带来几个问题:...
阅读全文
摘要: 出处:http://www.installsite.org/pages/en/isp_ext.htm这个地址上有不少好东西,有空要好好研究下里面的“List and Shut Down Running Applications”就是演示了Installshield如何停止操作系统进程[代码]
阅读全文
摘要: 上一篇: 解决卸载时残留目标文件夹的问题Installation Designer --> Organization -->Features中,选中要设置的feature,在右边的属性栏中,将Required选为Yes即可,安装时可以看到该feature为选中状态,且勾选框为灰色不可更改状态,即此feature不允许用户选择,一定会安装到目标机上 下一篇: Installshield静...
阅读全文
摘要: 上一篇: IS2009制作Oracle 静默安装包(二) 感谢空白先生特许授权 在 uninstalled函数最后加DeleteProgramFolder ( TARGETDIR ) 下一篇: Installshield设置feature为必须选中状态,即必定安装状态
阅读全文
摘要: 上一篇: MyEclipse中消除frame引起的“the file XXX can not be found.Please check the location and try again.”的错误 本文经原作者特许授权于海洋女神发布,转载请务必注明出处与链接;原作者和海洋女神保留对该文的一切法律许可下的权益;需要发布在盈利性报刊、网站等请与原作者或海洋女神联系。序言 这...
阅读全文
摘要: 上一篇:如何设置Installshield中 feature的选中状态 在用到FOLDER_STARTUP或者类似的变量前加一句ALLUSERS=0;然后FOLDER_STARTUP就是指向当前用户了。ALLUSERS是环境变量,不需要你定义。IS版本低时可能不行。 下一篇: MyEclipse中消除frame引起的“the file XXX can not be found.Plea...
阅读全文
摘要: 上一篇: 使用strtuts2的iterator标签循环输出二维数组 之前一直有筒子问如何设置Installshield中 feature的选中状态,因为在Install Design里是没有这个选项的。今天打开Help搜索了一下,函数如下:FeatureSelectItem ( szFeatureSource, szFeature, bSelect ); szFeatureSource Spec...
阅读全文
摘要: 上一篇:sqlserver显示数据库和表及列名 DialogSetInfo(DLG_INFO_ALTIMAGE,SUPPORTDIR^"logo.BMP",TRUE); logo.BMP要预先Import到Support File下下一篇: 使用strtuts2的iterator标签循环输出二维数组
阅读全文
摘要: 上一篇:SQL Server 2005镜像删除备忘录 Q:如何建立网页的快捷方式 A:随便建一个快捷方式:修改刚刚添加的快捷方式的属性,主要修改Target和Arguments两项。将Target 的内容改为[ProgramFilesFolder]Internet ExplorerIEXPLORE.EXE,即将快捷方式指向IE,然后将Arguments修改为网址,不过在instal lscrip...
阅读全文
摘要: 上一篇:一个完整的安装程序实例—艾泽拉斯之海洋女神出品(五) --补遗 转载时请务必保留转载出处和由艾泽拉斯之海洋女神出品的字样;如需刊登,请与作者联系。little_fairycat@126.com. Q: 如何替换setup.exe的图标? A: 这不是一个推荐的操作,因为可能会引起不可预见的错误,而且IS没有开放这个接口。如果你坚持要这么做,可以使用第三方软件比如ExeScope...
阅读全文
摘要: 上一篇:一个完整的安装程序实例—艾泽拉斯之海洋女神出品(四) --高级设置二 转载时请务必保留转载出处和由艾泽拉斯之海洋女神出品的字样;如需刊登,请与作者联系。little_fairycat@126.com. 第三部分:其他 1. 修改显示界面的风格 Installshield 原始安装界面我始终觉得很丑,幸好Installscript 是可以不用写代码就可以改界面风格的。 在 Installation Designer 的左边导航树上找到User Interface | Dialogs 在中间的导航树上找到 Dialogs | Skins Skins 选项下面显示了不同的界面风格,默认是No
阅读全文
摘要: 上一篇:一个完整的安装程序实例—艾泽拉斯之海洋女神出品(三) --高级设置一 4. 根据用户选择的组件,从外部文件夹拷贝相应的文件到安装目标路径的文件夹中这个用途常见于配置文件和授权文件的应用,同一程序,授权给不同的用户,只需要不同的配置和授权文件。如果将配置和授权文件每次都打包在安装程序里,那么变更一个用户就需要重新打包一次,这是一个浪费时间和精力的行为。如果将授权和配置文件(当然内容是加密过的)放在外部文件夹中,每次安装的时候从这个文件夹中读取拷贝,那么会是一个比较通用型的安装程序。 另外,本程序的好几个feature用到了相同的库,如果直接在feature下加库文件也可以,但是每一个fe
阅读全文
摘要: 上一篇:一个完整的安装程序实例—艾泽拉斯之海洋女神出品(二) --基本设置二 第二部分:脚本编程在开始进行编程前,我们先明确一下我们要用编程来弥补前面设置的哪些功能的不足 1. 显示软件许可协议 2. 判断是否安装了本软件所需要的先决软件JKD1.6.0_04,如无,则启动外部安装程序进行安装(同样原理可以用来判断是否安装了其他软件,只要该软件在注册表中有键值) 3. 用户的输入信息、所选安装路径、所选安装组件将显示在安装界面上(Installshield虽然自带了此界面,但是默认是显示为空的,需要写脚本来显示信息) 4. 根据用户选择的组件,从外部文件夹拷贝相应的文件到安装目标路径的文件夹中
阅读全文
摘要: 上一篇:一个完整的安装程序实例—艾泽拉斯之海洋女神出品(一)---基本设置一 7. 点击引导条上的Application Files 我们将在这里对安装路径进行微调,并且为每个Feature指定需要安装的文件 这里我不想使用Program Files | Company Name | Product Name这个路径,我想使用Program Files | Product Name,我直接点击选中My Product Name[INSTALLDIR]拖动到ProgramFileFolder下,还可以直接将My Product Name 改成自己想要的文件夹名字 接下来,为每个Feature..
阅读全文
摘要: 前言Installshield可以说是最好的做安装程序的商业软件之一,不过因为功能的太过于强大,以至于上手和精通都不是容易的事情,之前都是用Installshield的Project Assistant对付过去的,这次做这个安装程序,为了实现一些功能,必须写代码,国内外现成的资料很少,而且很多都语焉不详,自己反复啃了多次,对比Installshiel自带的help,才明白资料所表达的意思。这个安装程序虽然比较简陋,在行家眼里可能是小菜一碟,但是也花了笔者一个星期的时间,阅读了很多资料,啃了好几天英文help,集成了很多先驱者的经验,也费了自己不少心血做成的,对每一段代码的用处、每一个用到的函数
阅读全文