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前端工程师面试技巧 常见问题解答 每年的春招是各企业需求人才的黄金时期,不少的前端大牛或者前端新手在面试时候不知道怎么来回答面试官的问题,下面来看下我转载的这篇文章吧,希望对从事前端工作的你有所 ...
随机推荐
- 【图论】Codeforces 711D Directed Roads
题目链接: http://codeforces.com/problemset/problem/711/D 题目大意: 给一张N个点N条有向边的图,边可以逆向.问任意逆向若干条边使得这张图无环的方案数( ...
- Android 子线程请求ASP.NET后台
首先定义布局文件,及点击事件 public class MainActivity extends Activity { private final int MSG_HELLO = 0; private ...
- HDOJ(HDU) 2161 Primes(素数打表)
Problem Description Write a program to read in a list of integers and determine whether or not each ...
- Web 测试笔记
测试难点 主要是模块之间的同步问题. 测试容易忽略的地方 1. 各种标题.包括页面“标签页”的标题,弹出框的标题.由于开发经常直接用之前的页面,比如编辑可能直接用新增的页面,导致标题出错. 2. 最大 ...
- tomcat环境搭建
前言 学习任何一门技术的都需要环境的搭建,Hello world成为学习的开端.今天我就为大家带来tomcat的环境搭建过程. 配置环境变量 右击我的电脑->属性->高级系统设置-> ...
- media screen 响应式布局(知识点)
一.什么是响应式布局? 响应式布局是Ethan Marcotte在2010年5月份提出的一个概念,简而言之,就是一个网站能够兼容多个终端--而不是为每个终端做一个特定的版本.这个概念是为解决移动互联网 ...
- visual stduio 插件及代码生成器
下图是本人常用的visual stuido开发工具插件. 2 使用NArrange格式化代码,这个工具,可以将代码格式化,用region分隔开来. NArrange 0.2.9.0 ________ ...
- Android使用DOM生成和输出XML格式数据
Android使用DOM生成和输出XML格式数据 本文主要简单解说怎样使用DOM生成和输出XML数据. 1. 生成和输出XML数据 代码及凝视例如以下: try { DocumentBuilderFa ...
- iOS-获取UIView的全部层级结构
在iOS中获取UIView的全部层级结构 应用场景 在实际 iOS 开发中,非常多时候都须要知道某个 UI 控件中包括哪些子控件,而且分清楚它们的层级结构和自个的 frame 以及 bounds ,以 ...
- CF 19D Points 【线段树+平衡树】
在平面上进行三种操作: 1.add x y:在平面上添加一个点(x,y) 2.remove x y:将平面上的点(x,y)删除 3.find x y:在平面上寻找一个点,使这个点的横坐标大于x,纵坐标 ...