InstallShield Basic MSI工程常见问题解答[转]
1、 问题描述:采用何种安装模式?
实现方法:如果对用户界面等自定义要求不高的话,建议用Basic Msi Project,否则用InstallScript MSI Project。
2、 问题描述:安装后快捷方式为乱码。
实现方法:将简体中文设为默认安装语言后删除English前的勾。
操作步骤:在Installation Designer页面中Installation Information-General Information->String Tables右击Chinese(simplify)在弹出的快捷菜单中选择Make default,回到Project Assistant页面的相应处去掉English前的勾。
3、 问题描述:安装界面的中文全显示为乱码。
产生原因:之前已编译过英文的安装包。
实现方法:在Bulid菜单中的Release Wizard中修改设置再重新编译即可。
4、 问题描述:如何修改系统默认的安装文件夹?
实现方法:在Information-Product Properties中INSTALLDIR右侧的文本框中单击,再单击文本框右侧的 ,在弹出的Set INSTALLDIR对话框中新建目标文件夹,点击OK后,再次点击 选择刚才建好的那个文件夹。点OK 即可将默认的安装目录修改。
5、 问题描述:怎么在开始程序中加上卸载的快捷方式。
实现方法:在Project Assistant页面的Appication Shotcuts中单击左侧的Create an unlinstallation shotcut。
6、 问题描述:安装时怎么使控件自注册。
实现方法:在Project Assistant页面的中右侧选中控件,右击选择Properties在弹出的对话框中勾上Self Register复选框。
7、 问题描述:怎么实现在卸载时有的控件不被删除。
实现方法:直接单击Installation Designer页面,选中Application Data下的Files and Folders,在Destination computer’s folders中选中不要被卸载的组件,右击选择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 and Logic中单击Custom Actions, 右击Custom Actions在弹出的快捷菜单中选择Custom Action Wizard在Action Type中选择Run InstallScript code,在Insert into Sequence中的Install Execute Sequence处选择After ISSelRegisterFinalize或者After InstallFinalize都行,其余按向导提示操作。
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菜单中单击Release Wizard,在Media Type对话框处选择Network inage-在Release Configuartion对话框处选中Compress all files,在Windows Installer Location,Installscript Engine处选中Extract engine form Setup.exe,其余按向导提示操作。
13、问题描述:安装时提示有的文件正在使用不能被覆盖,怎么解决。
实现方法:单击Installation Designer页面,选中Application Data下的Files and Folders,在Destination computer’s folders处右击选中show compenents,再选中不要被覆盖的任意一个components,右击选择Properties在弹出的对话框中勾上Never Overwrite复选框。或是直接点击Organazation处的components处选择即可.
14、问题描述:怎么让用户选择安装路径。
实现方法:在project Assistant中installationinterview 处,将第三行的yes选上。
15、问题描述:怎么修改对话框左侧和上部的logo图片。
实现方法:在Project Assistant->Installation Interview:在右上角的More options处有个Use custom images on dialogs
16、问题描述:怎么在初始化安装过程时显示公司的logo作为闪屏。
实现方法:在Installation Designer页面的Behavior and Logic->Support Files->Splash Screen处的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工程常见问题解答[转]的更多相关文章
- 如何在InstallShield的MSI工程中调用Merge Module的Custom Action
使用InstallShield创建了合并模块安装程序,定义自定义活动,可如何调用却不太清楚,网上也就找到这点信息,还是没有成功,到底该在什么地方执行合并模块的自定义活动? http://1662487 ...
- installshield basic msi 更新时覆盖不了上一个版本文件解决方案1
1.增加dll exe程序集的版本号 2.设置IS里文件的Set key file
- InstallShield 工程类型MSI 使用过程中碰到的问题及解决方法。
原文 http://www.cnblogs.com/daocaorenbx/p/InstallShield.html 一.安装完 桌面创建IE快捷方式: 1. install script可以直接建 ...
- InstallShield 2015 Premier的Basic MSI Project如何在卸载时删除残留的文件 (转)
转载:http://blog.csdn.net/zztoll/article/details/54018615#comments 先说下缘由,我在用InstallShield 2015 Premier ...
- HOWTO: InstallScript MSI工程取Log
InstallShield的各种类型安装包如果遇到安装问题(尤其是在客户安装时遇到问题),获取Log分析是最有效的方法之一. 对于封装一个Setup.exe的InstallScript MSI工程,我 ...
- [!!!!!]Inno Setup教程-常见问题解答
[转]Inno Setup教程-常见问题解答 功能 * 翻译 Inno Setup 文字 * 它支持 MBCS (多字节字符集) 吗? * 将来会支持 Windows Installer 吗? ...
- Basic MSI silent install
Articles and post about silent install for Basic MSI, InstallScript, InstallScript MSI: Silent-mode ...
- Nginx缓存使用官方教程及常见问题解答
原文地址:http://www.kuqin.com/shuoit/20150804/347388.html 我们都知道,应用程序和网站一样,其性能关乎生存.但如何使你的应用程序或者网站性能更好,并没有 ...
- web前端工程师面试技巧 常见问题解答
web前端工程师面试技巧 常见问题解答 每年的春招是各企业需求人才的黄金时期,不少的前端大牛或者前端新手在面试时候不知道怎么来回答面试官的问题,下面来看下我转载的这篇文章吧,希望对从事前端工作的你有所 ...
随机推荐
- [Locked] Flip Game I & II
Flip Game I You are playing the following Flip Game with your friend: Given a string that contains o ...
- 《A First Course in Probability》-chape6-随机变量的联合分布-基本概念
之前我们探讨了一元随机变量的分布列,下面我们应该将相应的性质推广到多元随机变量的分布列,在这里我们主要以讨论二元随机变量分布列为主. 利用类比的方法,我们很容易将一元随机变量的分布列的性质推广上来. ...
- [转载]软件测试之Web测试经典总结
转载自:软件测试之Web测试经典总结 基于Web的系统测试在基于Web的系统开发中,如果缺乏严格的过程,我们在开发.发布.实施和维护Web的过程中,可能就会碰到一些严重的问题,失败的可能性很大.而且, ...
- IE JavaScript字符串转换成Date后出现NaN错误
参考的博文:http://blog.csdn.net/zhu7478848/article/details/53388582 在IE浏览器下, JavaScript字符串转换成Date后会出现NaN错 ...
- dependencyManagement与dependencies区别
最近在阅读maven项目代码时,dependencyManagement与dependencies之间的区别不是很了解,现通过项目实例进行总结:项目epps-demob-pom下有一个模块是epps- ...
- POJ 2418 ,ZOJ 1899 Hardwood Species - from lanshui_Yang
Description Hardwoods are the botanical group of trees that have broad leaves, produce a fruit or nu ...
- [Angular 2] Adding a data model
Instead of add todo as a string, we create a data model: export class TodoModel{ constructor( public ...
- 多线程下的performSelector和NSThread的使用
多线程下的performSelector和NSThread的使用 NSThread的多线程使用: 我们可以使用这两种方法来使用线程中的问题 - (id)initWithTarget:(id)targe ...
- [转] linux中cat more less head tail 命令
1.cat 显示文件连接文件内容的工具: cat 是一个文本文件查看和连接工具.查看一个文件的内容,用cat比较简单,就是cat 后面直接接文件名. 比如: [root@localhost ~]# c ...
- YYCache 源码分析(一)
iOS 开发中总会用到各种缓存,YYCache或许是你最好的选择.性能上有优势,用法也很简单.作者ibireme曾经对比过同类轮子:http://blog.ibireme.com/2015/10/26 ...