安装qq炫舞一直失败,提示installshieldwizard Wizard无响应然后过一段时间就是错误?

卸载炫舞时提示在installshield wizard维护已完成?(卸载时附图一一弹出的步骤) 求大神解答_百度知道下载的QQ炫舞不能玩是怎么回事?说应用程序错误 内存0*该内存不能为READ,这是怎么回事啊,各位高_百度知道当前位置: →
→ 解决过的installshield问题汇总
解决过的installshield问题汇总
& 作者及来源: 分不清马铃薯淀粉 - 博客园 &
&收藏到→_→:
摘要: 解决过的installshield问题汇总
"解决过的installshield问题汇总"::
经过这两三年的学习,我将总结过的问题都汇总一下。记录我的成长
1. 如何调用bat文件?&
a:&在installation&designer&-&&behavior&and&logic&-&&installscript&-&setup.rul里使用launchappandwait或者launchapp函数。&
2. 如何修改&添加或删除程序&里我的 的卸载图标?&
a: project&assisant&-&&application&information,select&the&icon&to&display&your&application&in&add&or&remove&program这项,点击browse选择你想要的图标即可。
3. 如何在installscript脚本中完成dll,&ocx的注册
在事件响应函数onend中添加如下代码段:&
function&onend()&&
&&&&string&szdll,&szreg,&&
&&&&szreg&=&winsysdir&^&"regsvr32.exe";
&&&&szdll&=&targetdir&^&"mydll.dll";&//如果是msi工程,可以用installdir代替targetdir
&&&&szcmd&=&"/s&\""&+&szdll&+&"\"";&//增加静默参数s,&增加&\&&防止目录路径含空格的情况。&&
&&&&if&(!removeonly)&then&
&&&&&&&&launchappandwait(szreg,&szcmd,&wait);&&&&&
结论:is自带的dll自注册不好使,这个示例少了的onmaintuiafter里反注册dll的代码,不过写法基本相同,就是launchappandwait(szreg,&szcmd,&wait);&写成反注册就可以了
卸载时反注册只要在命令参数中再多加一个&/u卸载应该放到onmaintuibefore,如果放到onmaintuiafter,反注册会失败,因为到这一步文件已经被删除,再进行反注册肯定会失败。
相关链接:http://www./installshield/archive//1835404.html
4. 问题描述:installshield判断是否为64位,并且为操作注册表进行设置&is脚本操作注册表在64位平台下必须有特殊的设置
:编写代码
if&(sysinfo.biswow64)&then&//如果为64位
&&&&&&&&regdb_options&=&regdb_option_wow64_64key&;&&&//则为注册表操作进行64位特殊设置
/**底下照常操作注册表即可*/
问题:驱动反安装问题解决汇总
1.&现在可以确定反安装是installshield11中已经自己带了
2.&按照打包程序中的顺序制作安装运行包,就完全此文来自: 马开东博客
转载请注明出处 网址:
可以实现安装反安装功能,无需在程序中再进行编写
3.&settitle(&@ifx_setup_title_captionbar,&0,&backgroundcaption&);在编译时不会出现问题,但是安装时出现注册表中没有ifx_title_captionbar。 是去注册表中看相应的是什么最后更改为settitle(@ifx_title_captionbar,0,&backgroundcaption&);
问题:解决卸载时残留目标文件夹的问题&
:在&uninstalled函数最后加deleteprogramfolder&(&targetdir&)
问题:改变那三个安装类型(典型,压缩,定制)的文字,如:典型,完全,定制
1.&installscript&msi中安装类型默认走的是setuptype2&这个界面,这个只有两种类型
2.&setuptype&这个界面,这个只有三种类型,
3.&要想有三种类型,则在脚本中进行setuptype的修改
4.&改直接在dialog中进行对应界面的修改
问题描述:如何动态链接文件夹可以使文件夹不在根目录下
:可以在component下的destination中&tagetdir&默认是这样的,可以加上&\所要加的文件夹的名字&例如&&tagetdir&\demoapp&
针对无法替换的文件处理方法
问题***.xml无法进行替换
:安装前先把这个文件进行删除,重新进行安装此文件
代码:在onfirstuibefore中进行添加下面文件
szoldpath&=&
&&&&targetdir&=&szoldpath&+&"\\***";
&&&&if&(findfile(targetdir,&"***.xml",&svresult)&==&0)&then
&&&&&&delay(1);
&&&&&&deletefile("***.xml");
&&&&&&targetdir&=&
dlg_start:
编写脚本实现判断是否安装framwork,没有安装则安装
问题描述:安装产品前实现,判断是否安装framwork,没有安装则安装。也就是检测系统中是否安装
解决代码:
1.support&files下面language&independent下面放文件dotnetfx40_full_x86_x64.exe
2.regdbsetdefaultroot&(&hkey_local_machine&);&
&&&&szkeyroot&=&"software\\microsoft\\.netframework\\v4.0.30319";&
&&&&if&(regdbkeyexist&(szkeyroot)&&&0)&then&&&
&&&&&&&&messagebox&("本机没安装.netframework4.0,请先安装.netframework4.0 包",&severe);&
&&&&&&&&launchappandwait(&supportdir&&^&"dotnetfx40_full_x86_x64.exe"&,&"",&laaw_option_wait);
&&&&&&&&//sdshowmsg("正在检测&microsoft&dotnet&framework...",false);&
supportdir&&路径解释
问题描述:代码中出现supportdir&&,srcdisk
supportdir说明是临时所放文件的地址。srcdisk安装盘所在的盘符根目录下面
supportdir位置是support&files下面language&independent下面放的exe或者dll等文件
srcdisk位置是,光盘的目录。如果是复制的放此文来自: 马开东博客
转载请注明出处 网址:
在d盘下面,则代表d:
srcdir也是安装包的路径
targetdir目标文件夹路径
安装途中点击取消的时候会出现界面停止,界面卡死问题
问题:界面为什么会卡死
解决:问题的原因是增加这个函数导致的sdshowmsg,这个函数在install11中出现这样的bug
sdshowmsg("正在检测&microsoft&dotnet&framework...",true);
&&&&delay(2);
&&&&regdbsetdefaultroot&(&hkey_local_machine&);&
&&&&szkeyroot&=&"software\\microsoft\\.netframework\\v4.0.30319";&
&&&&if&(regdbkeyexist&(szkeyroot)&&&0)&then&&&
&&&&&&&&messagebox&("本机没安装.netframework4.0,请先安装.netframework4.0 包",&severe);&
&&&&&&&&sdshowmsg("正在检测&microsoft&dotnet&framework...",false);&
解决是去掉两个函数sdshowmsg就没事
安装卸载界面固定卸载图标
问题:如题
解决办法:
generall information&&add or remove programs&&display icon添加图标即可
如何增加安装路径的检查
问题:增加安装路径的检查,比如之前安装过server包,然后安装admin包,默认的安装路径应该是server安装路径,是判断安装过server。没有安装则按照原来的方式安装
实现:代码编写实现
function&onfirstuibefore()
//记忆安装server
&nrootkey&=&hkey_local_
&&&szkey&&&&&=&"software\\*****\\***";
&&&if&(regdbsetdefaultroot(nrootkey)&&=&0)&then
&&&&&&&&if(regdbkeyexist&(szkey)&&=&0&)&then
&&&&&&&&&&&
&&&&&&&&&&&&sznumname&&=&"installdir";
&&&&&&&&&&&&if&(regdbgetkeyvalueex(szkey,&sznumname,&nvtype,sznumvalue,nvsize)&&=&0)&then
&&&&&&&&&&&&&&szdir&=&sznumvalue&&;&&&
&&&&&&&&&&&&&&else
//没有安装则按照原来的方式安装
&&&&&&&&&&&&&&szdir&=&
&&&&&&&&&&&&&&&
&&&&&&&&&&&&&else
&&&&&&&&&&&&&&szdir&=&
&&&&&&&&else
&&&&&&&&&&&&&&szdir&=&
&&&&nsetuptype&=&
&&&&targetdir&=&
&&&&svdir&=&
&&&&szname&=&"";
&&&&szcompany&=&"";
&&&&blicenseaccepted&=&
&&dlg_sdaskdestpath:
&&&&sztitle&=&"";
&&&&szmsg&&&=&"";
&&&&nresult&=&sdaskdestpath(&sztitle,&szmsg,&svdir,&0&);
&&&&targetdir&=&
&&&&if&(nresult&=&back)&goto&dlg_&
定制安装包如何实现安装包选择定制安装,安装所要的部分如何实现
1.安装包的实现
将安装包分成不同的部分,放入不同的组件
2.桌面图标和开始菜单的图标的实现
component选择相应的安装包,woeking&directory指向相应的安装包&targetdir&\admin,hot&key改为0,
开始菜单除上面的做法,还需将快捷方式的类型
从id_string37更改为ids_shortcut_display_name16
安装脚本实现:
dlg_setuptype:
&&&&sztitle&=&"";
&&&&szmsg&&&=&"";
&&&&nresult&=&setuptype2(sztitle,&szmsg,&"",&nsetuptype,&0);
&&&&if&(nresult&=&back)&then
&&&&&&&&goto&dlg_
&&&&nsetuptype&=&
&&&&&&&&if&(nsetuptype&!=&custom)&then
&&&&&&&&nvsize&=&0;
&&&&&&&&featurecomparesizerequired(media,&targetdir,&nvsize);
&&&&&&&&if&(nvsize&!=&0)&then&&&&&&
&&&&&&&&&&&& messagebox(szsdstr_notenoughspace,&warning);
&&&&&&&&&&&&goto&dlg_
&&&&&&&&&&&&
bcustom&=&
bcustom&=&
dlg_sdfeaturetree:&
&&&&if&((nresult&=&back)&&&&(nsetuptype&!=&custom))&goto&dlg_
&&&&sztitle&=&"";
&&&&szmsg&=&"";
&&&&sztargetdir&=&
&&&&szfeatures&=&"";
&&&&nlevel&=&2;
&&&&if&(nsetuptype&=&custom)&then
&&&&&&&&//{{is_script_tag(dlg_sdfeaturetree)
&&&&&&&&nresult&=&sdfeaturetree(&sztitle,&szmsg,&sztargetdir,&szfeatures,&nlevel&);
&&&&&&&&//}}is_script_tag(dlg_sdfeaturetree)
&&&&&&&&if&(nresult&=&back)&goto&dlg_&&
/*dlg_sqlserver:
&&&&nresult&=&onsqlserverinitialize(&nresult&);
&&&&if(&nresult&=&back&)&goto&dlg_
dlg_objdialogs:
&&&&nresult&=&showobjwizardpages(&nresult&);
&&&&if&(nresult&=&back)&goto&dlg_&&&*/
dlg_sdstartcopy2:
&&&&sztitle&=&"";
&&&&szmsg&=&"";
&&&&//{{is_script_tag(dlg_sdstartcopy2)
&&&&nresult&=&sdstartcopy2(&sztitle,&szmsg&);
&&&&//}}is_script_tag(dlg_sdstartcopy2)
&&&&if&(nresult&=&back)&goto&dlg_
&&&&//&added&in&11.0&-&set&appropriate&statusex&static&text.
&&&&setstatusexstatictext(&sdloadstring(&ids_ifx_statusex_statictext_firstui&)&);
&&&&return&0;
问题:通过开发模式安装,多组件以及数据层补丁打不上的问题。其实涉及到路径中途修改
解决如下:
首先查找问题所在,看选择开发模式的代码与其它两种模式的代码有什么区别。先看代码就是增加界面其它没什么区别,所以开始怀疑是不是静默安装不支持多种模式,一种模式生成的setup.iss只能一种模式安装,最后发现演示和正版模式都没有问题生成是setup.iss文件都是一样的信息,排除这个问题。开始一段代码一段代码的查找问题,一只以为在安装文件之前有问题,最后查找到安装完后注册时候出现的问题。通过flag==4执行的代码有问题。等于4将srcdir路径进行改变。所以需要提前保存之前的路径之后重新赋值即可
代码实现如下:
function&onfirstuiafter()
&&&&string&sztitle,&szmsg1,&szmsg2,&szoption1,&szoption2,szpath1,szpath2;
&&&&number&bopt1,&bopt2;
&&&&string& path,svresult,szoldpath,szprogram,szpath,&&&
string&&&szkeyname,szcmd,szcmd1;
number&&&nresult,&&&nvtype,&&&&&&&&
string&&&szsyspath,&&&&
&&&&disable(statusex);&&
&&&&path=&&&&&//保存之前的路径
//软授权文件拷贝
&&&&if&(flag==4)&then&
&&&&szpath1&=&&&
&&&&szpath2&=&targetdir&;
&&&&srcdir=&&&szpath1&&;
&&&&targetdir=&szpath2&&;
&&if(&copyfile("devtryout.reg",&"devtryout.reg")&&0&)&then
&&messagebox("软授权注册失败!",&severe);&
&&&&&&&targetdir=&szpath1;
&&&&&&&deletefile("devtryout.reg"&);
&&&&targetdir=&szpath2&&;
&&&srcdir搜索此文相关文章:此文来自: 马开东博客
网址: 站长QQ
解决过的installshield问题汇总_博客园相关文章
博客园_总排行榜
博客园_最新
博客园_月排行榜
博客园_周排行榜
博客园_日排行榜您的举报已经提交成功,我们将尽快处理,谢谢!
大家还关注

我要回帖

更多关于 炫舞未响应 的文章

 

随机推荐