InstallShield 打包实例Word文档格式.docx

上传人:b****3 文档编号:16741275 上传时间:2022-11-25 格式:DOCX 页数:28 大小:1.55MB
下载 相关 举报
InstallShield 打包实例Word文档格式.docx_第1页
第1页 / 共28页
InstallShield 打包实例Word文档格式.docx_第2页
第2页 / 共28页
InstallShield 打包实例Word文档格式.docx_第3页
第3页 / 共28页
InstallShield 打包实例Word文档格式.docx_第4页
第4页 / 共28页
InstallShield 打包实例Word文档格式.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

InstallShield 打包实例Word文档格式.docx

《InstallShield 打包实例Word文档格式.docx》由会员分享,可在线阅读,更多相关《InstallShield 打包实例Word文档格式.docx(28页珍藏版)》请在冰豆网上搜索。

InstallShield 打包实例Word文档格式.docx

需要选中WindowsInstaller3.1(x86)和Mirosoft.NETFramework3.5:

6. 

点击引导条上的InstallationArchitecture

这是个十分有用的设置,对于本文所用的分布式软件来说非常合适,分布式软件的每个组件可以设置为一个Feature,用户可以自由选择安装某些功能。

将选项DoyouwanttocustomizeyourInstallation选择为Yes。

点击选中根节点InstallationArchitecture,点击New创建新的Feature,可以为每个Feature指定新名称。

还可以在Feature下创建子Feature,比如如果文档Feature下包括软件本身文档,和软件所需的运行环境的文档,那么可以创建两个子Feature,分别包含两种文档,用户在安装时就可以选择安装部分或者全部文档了。

这里我们没有用到子Feature,用途和普通Feature一样。

这里,建立好所有Feature后,我们将切换到InstallationDesigner做一个设置

找到InstallationDesigner页面上左边导航树Organization|Features分支,你会看到这里Features都显示为原始的名称,而非我们改过的名字,因为Feature有Name和DisplayName两种名称,我们刚才改的不过是DisplayName,为了便于查看和使用,我们在这里把Name也改一下

注意Name不可以有空格,可以使用下划线

7.点击引导条上的ApplicationFiles

我们将在这里对安装路径进行微调,并且为每个Feature指定需要安装的文件

这里我不想使用ProgramFiles|CompanyName|ProductName这个路径,我想使用ProgramFiles|ProductName,我直接点击选中MyProductName[INSTALLDIR]拖动到ProgramFileFolder下,还可以直接将MyProductName改成自己想要的文件夹名字

接下来,为每个Feature指定要安装的文件。

打开这个下拉列表,所有的Feature都在这里,按顺序来给每一个Feature建立文件夹,并且导入所需的文件。

选择第一个Feature,即Server,点击MyProductName[INSTALLDIR]节点,右键点击,在菜单上选择NewFolder来创建一个文件夹。

创建一个Server文件夹,这个文件夹将用来存放该组件需要的一些文件。

再在Server文件夹下创建一个icon文件夹,存放该组件所用的图标。

然后为该Feature添加安装时该Feature要安装的文件。

这里我们建立的icon文件夹是用来存放这个feature在后面要建立快捷方式时使用的图标的。

为这个icon文件夹添加相应的图标文件,并且记住图标文件的来源文件夹,后面设置快捷方式的时候要用。

点击选中要添加文件的文件夹,然后点击右下角的AddFiles,然后添加文件

接下来我们为Feature添加文件夹,如果这个文件夹中的全部文件都为这个Feature所需。

添加文件夹的好处在于只要文件夹位置和名称不变,那么文件夹里面的文件都是动态加载的,有多少加载多少,不用考虑文件名的改动带来的影响。

点击选中要添加文件夹的文件夹,然后点击右下角的AddFolders,然后添加文件夹。

选中文件夹,点击确定。

会询问你是否要使用动态文件链接,我都选择确定,好处就在于我刚才上面所述。

显示了源文件夹,如果这个文件夹下有子文件夹,并且也需要一并添加进来的话,务必钩选Includesubfolders选项。

这里还允许做一些简单设置来包含或者排除一些特定文件,支持通配符。

点击OK确定加入文件夹。

如法炮制为每个Feature建立文件夹,并且添加文件,最后效果如图所示

Document这个Feature,除了文件所用的图标外,什么都不要添加,后面我们将用安装时实时拷贝的方式来拷贝文档进来。

8.接下来我们为可执行文件创建快捷方式。

点击引导条上的ApplicationShortcuts

点击New新建一个快捷方式

选择一个要建立快捷方式的Feature。

如果要建立快捷方式的程序为非.exe形式,请把FilesOf选择选为AllFiles(*.*)格式。

我们的程序安装目标路径设置在ProgramFiles下,因此双击[ProgramFilesFolder]打开,层层点击进入。

我们这里要为client.bat建立一个快捷方式,因为这个是启动用的批处理文件。

Installshield可以自动监测到.exe文件的存在,自动生成快捷方式,用户只需要做一些适当修改即可。

新建的快捷方式将出现在这里,名字不好听,样子也不好看,我们将为它改一个名字,并且换一个图标。

选中快捷方式,点击Rename,并且为这个快捷方式改一个适当的名字。

注意右边的几个选项。

CreateshortcutinStartMenu,将在开始菜单里创建一个快捷方式。

CreateshortcutonDesktop,将在桌面上创建一个快捷方式。

UsealternateshortcutIcon,替换快捷方式的图标

Associateafileextensionwiththeshortcut’starget,没用过,不知道什么意思。

我们在这里将只创建开始菜单的快捷方式,因此钩选第一项。

钩选第三项,并且点击Browse来浏览图标。

请回想刚才在为Feature添加文件的时候,每个feature都添加了对应的icon。

这里,请把浏览的文件夹设定为刚才添加icons所用的文件夹,通俗的说,就是你刚才从哪儿添加一个图标进feature的,现在还是从哪儿添加的这个图标。

其实这一点我是一直很费解的,当初不知道要这么选择图标,随便从外面一个任意文件夹里添加了一个图标,以至于打包后死活找不到图标,后来经过试验才知道这个被选中的图标文件要拷贝进来,打包进安装文件才可以。

这一点上不能不提一下visualstudio,这个工具做安装程序虽然功能一般,但是思想还是不错的,当它的组件指定拷贝了图标文件后,在建立快捷方式时,快捷方式使用的图标是指向虚拟的安装目标路径下的图标文件的,而不是指定到这个实实在在的源文件夹。

这一点差别就体现出了思想上的差异。

如法炮制为每个Feature指定快捷方式,Document除外,因为我们在这个feature里除了图标文件外什么都没有添加。

至此我们为每个可执行程序添加了开始菜单下的快捷方式。

我们再切换去InstallationDesigner,找到SystemConfiguration|Shortcuts。

看到快捷方式在开始菜单中是以 公司名 | 软件名 | 快捷方式   这种形式存在的。

事实上我是不喜欢这种形式了,想想点开一层还有一层,不如直接了当来得干脆,因此做一些修改。

这里我改成了如下设置

不要告诉我你不会改,直接拖动Test文件夹往ProgramMenu(即开始菜单下的那个“所有程序”)下一塞即可,然后删除掉多余的CompanyName文件夹。

9.可能刚才在ProjectAssistant界面有人已经注意到了左边栏上MoreOptions下Createanuninstallationshortcut这个诱人的字样了。

可是我要告诉你,如果你选择了这种方式建立卸载快捷方式的话,你会很沮丧地发现:

a)似乎只有在安装某个feature的时候这个卸载快捷方式才会出现(当然,就是那个defaultfeature,这种要命的feature形式决定了每个文件或者快捷方式都必须明确地归属到某个feature下),因此,当你的客户只选择了其他feature安装时,这个卸载方式不会出现,而他必须去“添加或卸载程序”里面去卸载

b)如果你写脚本使得安装时会拷贝一些外部文件进来,那么这些文件在这种卸载方式下是删除不掉的。

(如果你确实想保存这些文件,你可以在脚本里设置它们属性为permanent,这个属性可以保证什么卸载方式都不能删除你的这些文件)。

所以这里我们忽视这个卸载快捷方式的存在,而将在后面采用脚本形式实现完美卸载。

10.点击引导条上的ApplicationRegistry

向注册表写键和键值,由于本工程不需要,忽略之。

有需要的朋友可以查阅相关资料,不难。

11.点击引导条上的InstallationLocation

这个是用来设置安装包的语言的,选择了多个语言后,用户可以在安装界面开始的时候选择安装时所用的语言;

不过作为一个公司产品来说,这么偷懒,客户的印象是要打折扣的,所以还是选个单语言吧,该什么语言的安装包就什么语言的安装包,各归各。

不过你又会沮丧地发现,如果要选择一种其他语言作为DefaultLanguage,好像又报错了。

这个问题当时折腾了我一个星期(当然那时候才接触Installshield,还一窍不通),最后问了技术支持才得以解决。

切换去InstallationDesigner,找到InstallationInformation|GeneralInformation,看到StringTables下面是什么?

对,所有你选的语言都列出来了,选中你要的语言,右键,选择MakeDefault,OK,再切换回ProjectAssistant去把所有不要的语言统统去掉钩选即可。

 

看到此处,已经变成了English为默认语言了。

12.点击引导条上的BuildInstallation。

打包安装盘的设置,本人从来不用这个选项,都用工具条上的ReleaseWizard。

至此,第一部分基本完成。

如果是一些没有特别要求的安装包,这部分讲解的内容足够可以做一个基本的安装包了

第二部分:

脚本编程

下面就是我的脚本的主要实现:

脚步主要包括六个部分,即六个事件处理过程:

OnBegin,OnEnd,OnFirstUIAfter,OnFirstUIBefore,OnMainUIAfter,OnUninstall这六个事件都是自动生成的,需要那些特殊的处理就这写事件里面写脚步就可以了。

onEnd和OnUninstall两个事件我没有用到,很奇怪的,卸载代码写在OnUninstall里面没有启作用,没有运行,所以我不得不写在OnMainUIAfter事件里面。

另外需要提示的是unistallshield自带的卸载快捷方式不好用,卸载不完全,所以必须写脚步才能卸载完全。

下面就是我做的具体的脚本:

1:

开始部分:

//===========================================================================

//

//FileName:

Setup.rul

//Description:

Blanksetupmainscriptfile

//Comments:

Blanksetupisanemptysetupproject.Ifyouwantto

//createanewprojectvia.step-bystepinstructionsusethe

//ProjectAssistant.

//Includedheaderfiles----------------------------------------------------

#include"

ifx.h"

//Note:

InordertohaveyourInstallScriptfunctionexecutedasacustom

//actionbytheWindowsInstaller,itmustbeprototypedasan

//entry-pointfunction.

//ThekeywordexportidentifiesMyFunction()asanentry-pointfunction.

//TheargumentitacceptsmustbeahandletotheInstallerdatabase.

/*exportprototypeMyFunction(HWND);

*/

functionOnBegin()

begin

Disable(BACKBUTTON);

//if(!

MAINTENANCE)then

//SdLicense2("

License"

"

"

SUPPORTDIR^"

许可协议.rtf"

FALSE);

//endif;

RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);

if(RegDBKeyExist("

SOFTWARE\\ORACLE"

)<

0)then

MessageBox("

请先安装Oracle"

SEVERE);

Exit;

endif;

end;

2OnFirstUIBefore事件部分:

//---------------------------------------------------------------------------

//OnFirstUIBefore

//TheOnFirstUIBeforeeventiscalledbytheframeworkwhenthesetupis

//runninginfirstinstallmode.BydefaultthiseventdisplaysUIallowing

//theendusertospecifyinstallationparameters.

functionOnFirstUIBefore()

NUMBERnResult,nSetupType,nvSize,nUser;

STRINGszTitle,szMsg,szQuestion,svName,svCompany,szFile;

STRINGszLicenseFile;

LISTlist,listStartCopy;

BOOLbCustom,bIgnore1,bIgnore2;

STRINGszDir,szTemp;

//TODO:

ifyouwanttoenablebackground,windowtitle,andcaptionbartitle

//SetTitle(@PRODUCT_NAME,24,WHITE);

//SetTitle(@PRODUCT_NAME,0,BACKGROUNDCAPTION);

//Enable(FULLWINDOWMODE);

//Enable(BACKGROUND);

//SetColor(BACKGROUND,RGB(0,128,128));

//AddedinInstallShield15-Showanappropriateerrormessageif

//-removeonlyisspecifiedandtheproductisnotinstalled.

if(REMOVEONLY)then

Disable(DIALOGCACHE);

szMsg=SdLoadString(IDS_IFX_ERROR_PRODUCT_NOT_INSTALLED_UNINST);

SdSubstituteProductInfo(szMsg);

MessageBox(szMsg,SEVERE);

abort;

endif;

nSetupType=TYPICAL;

Dlg_SdWelcome:

szTitle="

欢迎使用UWAY-OMDGB优化系统"

;

szMsg="

安装软件将在您的计算机中安装'

UWAY-OMDGB优化系统'

若要继续,请单击下一步"

nResult=SdWelcome(szTitle,szMsg);

if(nResult=BACK)gotoDlg_SdWelcome;

svName="

svCompany="

Dlg_SdRegisterUser:

请您填写用户信息"

欢迎您\b\n使用UWAY-OMDGB优化系统"

nResult=SdRegisterUser(szTitle,szMsg,svName,svCompany);

Dlg_SetupType:

安装类型\b\n请选择安装类型"

请选择安装"

nResult=SetupType2(szTitle,szMsg,"

nSetupType,0);

if(nResult=BACK)then

gotoDlg_SdRegisterUser;

else

nSetupType=nResult;

if(nSetupType!

=CUSTOM)then

nvSize=0;

FeatureCompareSizeRequired(MEDIA,INSTALLDIR,nvSize);

if(nvSize!

=0)then

MessageBox(szSdStr_NotEnoughSpace,WARNING);

gotoDlg_SetupType;

bCustom=FALSE;

gotoDlg_SQL;

else

bCustom=TRUE;

Dlg_SdAskDestPath:

nResult=SdAskDestPath(szTitle,szMsg,INSTALLDIR,0);

if(nResult=BACK)gotoDlg_SetupType;

Dlg_SdFeatureTree:

if(nSetupType=CUSTOM)then

nResult=SdFeatureTree(szTitle,szMsg,INSTALLDIR,"

2);

if(nResult=BACK)gotoDlg_SdAskDestPath;

Dlg_SQL:

nResult=OnSQLLogin(nResult);

if(nResult=BACK)then

if(!

bCustom)then

gotoDlg_SetupType;

gotoDlg_SdFeatureTree;

endif;

Dlg_SdStartCopy:

可以安装UWAY-OMDGB优化系统了\b\n安装准备工作已就绪,可以开始安装了。

szMsg="

//"

单击"

安装"

以开始安装。

\b\n如果要检查或更改任何安装设置,请单击"

上一步"

取消"

退出安装向导。

nResult=SdStartCopy2(szTitle,szMsg);

gotoDlg_SQL;

listStartCopy=ListCreate(STRINGLIST);

switch(nSetupType)

caseTYPICAL:

ListAddString(listS

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 实习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1