InstallShield Basic MSI工程常见问题

系统 1612 0
1、   问题描述:采用何种安装模式?

实现方法:如果对用户界面等自定义要求不高的话,建议用Basic Msi Project,否则用InstallScript MSI Project。

2、   问题描述:安装后快捷方式为乱码。

实现方法:将简体中文设为默认安装语言后删除English前的勾。

操作步骤:在InstallationDesigner页面中Installation Information-General Information->StringTables右击Chinese(simplify)在弹出的快捷菜单中选择Make default,回到ProjectAssistant页面的相应处去掉English前的勾。

3、   问题描述:安装界面的中文全显示为乱码。

产生原因:之前已编译过英文的安装包。

实现方法:在Bulid菜单中的Release Wizard中修改设置再重新编译即可。

4、   问题描述:如何修改系统默认的安装文件夹?

实现方法:在Information-ProductProperties中INSTALLDIR右侧的文本框中单击,再单击文本框右侧的 ,在弹出的SetINSTALLDIR对话框中新建目标文件夹,点击OK后,再次点击 选择刚才建好的那个文件夹。点OK 即可将默认的安装目录修改。

5、   问题描述:怎么在开始程序中加上卸载的快捷方式。

实现方法:在Project Assistant页面的Appication Shotcuts中单击左侧的Create an unlinstallation shotcut。

6、   问题描述:安装时怎么使控件自注册。

实现方法:在Project Assistant页面的中右侧选中控件,右击选择Properties在弹出的对话框中勾上Self Register复选框。

7、   问题描述:怎么实现在卸载时有的控件不被删除。

实现方法:直接单击InstallationDesigner页面,选中Application Data下的Files and Folders,在Destinationcomputer’sfolders中选中不要被卸载的组件,右击选择Properties在弹出的对话框中勾上Permanent复选框(若没有复选框可以在organiztion处的setup design处设置 )

8、   问题描述:怎么在Basic MSI Project安装工程中实现安装后运行指定的安装程序。

实现方法:首先在Installation Designer页面的Behavior and Logic中单击InstallScript,右击Files在弹出的快捷菜单中选择New Script file,然后新建相关函数。例如:

#include "ifx.h"

export prototype RunSetIIS(HWND);

function RunSetIIS(hMSI)

   STRING svResult;

begin    

       if(FindFile(INSTALLDIR,"设置IIS.exe",svResult)=0) then

       LaunchAppAndWait (INSTALLDIR^"设置IIS.exe","AUTORUN",WAIT);

   endif;  

end;

然后再在Behavior andLogic中单击Custom Actions, 右击Custom Actions在弹出的快捷菜单中选择Custom ActionWizard在Action Type中选择Run InstallScript code,在Insert intoSequence中的Install Execute Sequence处选择After ISSelRegisterFinalize或者AfterInstallFinalize都行,其余按向导提示操作。

9、   问题描述:怎么样在安装或卸载过程中停止或开启、重启有关服务。

实现方法:大体操作同8。相关函数LaunchAppAndWait, 以停止win自带的web服务为例:

#include "ifx.h"

export prototype StopWebservice(HWND);

function StopWebservice(hMSI)

begin

   LaunchAppAndWait("","net stop w3svc"+"/S",WAIT);  

end;

10、问题描述:怎么样在卸载后删除残留文件。

实现方法:大体操作同8。相关函数DeleteDir, DeleteFile,注意不要对INSTALLDIR文件夹进行整个删除,以防安装在根目录时这样的删除操作会造成删除整个盘符的所有数据。

11、问题描述:怎么样在安装完成之后创建新文件夹。

实现方法:大体操作同8。相关函数CreateDir。

12、问题描述:怎么使安装包只一个exe文件。

实现方法:在Bulid菜单中单击ReleaseWizard,在Media Type对话框处选择Network inage-在ReleaseConfiguartion对话框处选中Compress all files,在Windows InstallerLocation,Installscript Engine处选中Extract engine form Setup.exe,其余按向导提示操作。

13、问题描述:安装时提示有的文件正在使用不能被覆盖,怎么解决。

实现方法:单击InstallationDesigner页面,选中Application Data下的Files and Folders,在Destinationcomputer’s folders处右击选中showcompenents,再选中不要被覆盖的任意一个components,右击选择Properties在弹出的对话框中勾上NeverOverwrite复选框。或是直接点击Organazation处的components处选择即可.

 

14、问题描述:怎么让用户选择安装路径。

实现方法:在project Assistant中installationinterview 处,将第三行的yes选上。

 

15、问题描述:怎么修改对话框左侧和上部的logo图片。

实现方法:在Project Assistant->Installation Interview:在右上角的More options处有个Use custom images on dialogs

16、问题描述:怎么在初始化安装过程时显示公司的logo作为闪屏。

实现方法:在InstallationDesigner页面的Behavior and Logic->Support Files->SplashScreen处的Language Independent单击,在files列表处右键Insert files,选取一幅bmp图片添加就是。

17、问题描述:怎么使用脚本在安装过程中调用另一个MSI安装程序。

实现方法:以下是函数片段
string szCommand,szCmdLine;
begin
   szCommand = WINSYSDIR^"msiexec.exe";  
   LongPathToShortPath(szCommand);
   szCmdLine =TARGETDIR^"msxmlchs.msi";
   LongPathToShortPath(szCmdLine);
   SdShowMsg("正在安装msxml,请稍候...",TRUE);
   Delay(5);
   if (LaunchAppAndWait( szCommand ,"/i"+szCmdLine,WAIT) < 0) then
       MessageBox("数据文件出现错误",WA RNING);      
   endif;

18、问题描述:怎么设置背景图
       实现方法:以下是函数片段

Enable( BACKGROUND );      
     GetExtents ( nvDx , nvDy);
     if(nvDx=800) then
       PlaceBitmap ( SUPPORTDIR ^ "bbrd1.bmp" , 1 , 800 , 600 ,CENTERED);
     elseif(nvDx=1024) then        
       PlaceBitmap ( SUPPORTDIR ^ "bbrd2.bmp" , 1 ,1024 , 768 ,CENTERED);
     elseif(nvDx=1152) then
       PlaceBitmap ( SUPPORTDIR ^ "bbrd3.bmp" , 1 , 1152 , 864 ,CENTERED);
     endif;

InstallShield Basic MSI工程常见问题


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论