概要: 同时运行两个安装提实例, 错误提示对话框显示不正.
详细描述如下:
组里使用
InstallShield 10.5
为我们的
Java
项目制作安装器
(
实质是一个
jar),
发现一个bug,同时运行两个安装器实例时
,
会弹出错误对话框
.
而这个对话框显示异常
,
只有一个确认按钮
, title
和
info message
的内容均为空白
.
很显然
, InstallShield
需要一个字符串
,
而这个字符串是我们可以配置的
(
这一点是我十分相信
InstallShield
的
).
但遗憾的是
,
这个问题的答案我们都没有
google
到
,
包括英文关键字在内,
于是我的解体思路就是到
Install
里面找这个字符串
,
找使用这个字符串的函数
,
找使用这个字符串的事件
.
而我的另一个同事
Liu
同学
,
则使用了完全不同的方法
,
将
InstallShield
的
Jar
文件反编译
,
很High的开始了
Debug
之旅
.
而没多久
,
便找到了这个字符串
:VPDInUse.
解决问题之后,总结了一下,真实的问题是这样的
:
InstallShield
在第一次安装的时候便会对下面文件夹中的内容加锁
:
C:\Program
Files\Common Files\InstallShield\Universal\common\Gen1\_vpddb
包括下面文件
: vpd.data,vpd.properties,vpd.script
而第二个安装实例运行时
,
找不到这个锁
,
于是便弹出错误对话框提示
,
而这个对话框中使用的字符串是
VPDInUse. 在StringTable中设置该字符串的相应值即可.
总结:
反编译这一招很好, 用我们熟悉的东西(Java), 去解决我们不熟悉领域的问题(InstallShield).
这正是扬长避短, 需要发扬.
分享到:
相关推荐
InstallShield自定义对话框浅谈
InstallShield自定义对话框浅谈.doc 群里的朋友传上来的,共享下
NULL 博文链接:https://wjason.iteye.com/blog/601200
InstallShield 打包时 使用IP控件
installshield 4075 错误
Installshield 脚本:检查安装环境,若电脑上没安装.net则安装
Installshield 脚本:CheckRequirements.txt 附加数据库.txt 禁用uac.txt 输入用户名密码.txt 卸载杀死进程.txt IISConfig.rul(配置IIS的脚本) Asp.net Version.txt(获取asp.net的版本这个难找哦) IIS安装.rar...
Installshield脚本:禁用UAC
、Application Information:程序信息......7、Installation Interview: 简单的对话框选择... 8 8、Installation Localization: 安装包界面语言的选择... 9 9、Build Installation选择安装包的格式... 9
Installshield使用详解 Installshield Sd对话框函数 InstallShield内部库函数全集 等等,很全很全,并且是中文的
详细介绍了installshield 打包过程中遇到的一些问题 并提供了一系列的解决办法
Installshield 脚本代码:卸载时杀掉进程
InstallShield内部库函数全集四-Sd对话框函数(中文版) InstallShield内部库函数全集五-自定义对话框函数(中文版) InstallShield内部库函数全集六-组件函数(中文版) InstallShield内部库函数全集七-文件...
06InstallShield内部库函数全集六-自定义对话框函数(中文版).pdf
Flexera Software 于2010年8月19日发布了最新版本InstallShield 2011,同时宣布了InstallShield 2008停止授权。如果您想要创建属于您自己的软件安装包,赶快来试用吧! *您是Visual Studio的用户吗? 了解为什么...
04InstallShield内部库函数全集四-内部对话框函数(中文版)借鉴.pdf
05InstallShield内部库函数全集五-Sd对话框函数(中文版)借鉴.pdf
InstallShield包含300多个内部库函数,用户可在安装脚本中调用它们来创建程序组,操作文件夹,处理目录,监督安装状态,创建对话框,操作文件及其它更多工作。因为InstallShield脚本编译器已经识别这些库函数名,...
1. 运行installshield12时,提示激活, 随便输入数字,点下一步后,出错,选择选择email方式 2. 进入下一页, 提示一系列数学码 3. 运行 [InstallShield.12].keygen.exe,把得到的 数学码 复制到 keygen程序的空白处, ...