InstallShield6.0专业版的问题。300分,急。。。。。(300分)

  • 主题发起人 主题发起人 jlxbz
  • 开始时间 开始时间
J

jlxbz

Unregistered / Unconfirmed
GUEST, unregistred user!
1、怎样在增加程序菜单时,增加一个卸载程序的“卸载菜单“。
2、怎样判断用户的机器是不是Win95,是Win95则要实现自动安装Dcom95和ADO驱动。
3、谁有InstallShield6.0的汉化包。
4、为什么我的安装程序,安装后在“添加/删除程序”中是乱码.
 
1.使用installshield6.2吧,可以下载6.2的远东语言包,做出的纯中文界面,漂亮。
网址:(soft.jx163.com).
2.判断是否为win95,只要使用函数GetSystemInfo (nItem, nvResult, svResult);
nItem:OS
nvResult:返回目标操作系统平台。返回下列常量之一:
IS_WINDOWSNT - 操作系统是Windows NT。
IS_WINDOWS9X - 操作系统是Windows 95或Windows 98。
为确定是哪个,带WINMINOR调用GetSystemInfo来检测监控器版本。
如果小于10,则操作系统是Windows 95;否则是Windows 98。
SvResult:N/A
3.乱码的问题可能是语言包不正确的原因,使用了远东包就能解决。
4.卸载程序的“卸载菜单”?——在C:/Program Files/InstallShield Installation Information,
的目录下有相应的setup.exe文件,你想办法增加他的快捷方式在菜单里,你试试看。
成功了别忘了告诉我怎么弄的,好吗?
 
TO YANGWEI0308:
非常感谢,让我试试,稍后给分。
 
同意上面的方法,不过汉化包总是有一点问题的,如果出现一些奇观的问题我也许能帮帮你,
我刚花了一段时间来研究这个东西。
4.把setup.exe打包带着(其实做好的安装程序也带了,拷贝也可),然后加到快捷菜单中,
把名称变一下,如果追求完美把图标也变一下就可以了。
 
远东包是installshield自配的,兼容性绝对没问题,关于卸载的问题,下面是我已经试验成功的
一个程序,请看好了:
function OnMoved()
STRING szWorkingDir,szIconPath,szItemName,svTmp,szParam;
STRING szProgram,szCommandLine,szShortCutKey,szProgramFolder;
NUMBER nResult,nFlag,nIcon;
begin

if !MAINTENANCE then
szProgramFolder =FOLDER_PROGRAMS+@PRODUCT_NAME;
szWorkingDir = TARGETDIR;
szIconPath = TARGETDIR+'//UNINSTALL.ICO';
nIcon =0;
szItemName = "卸载飞天财务";
//szProgram = szIconPath;
svTmp = PROGRAMFILES+"InstallShield Installation Information//"+PRODUCT_GUID+"//setup.exe";
LongPathToQuote(svTmp, TRUE);
szParam = svTmp;
LongPathToShortPath(szParam);
svTmp = COMMONFILES+"InstallShield//engine//6//Intel 32//ctor.dll";
LongPathToShortPath(svTmp);
szProgram = "RunDll32"+" "+ svTmp+",LaunchSetup";
szCommandLine = szProgram + " " + szParam;
//RunDll32 D:/PROGRA~1/COMMON~1/INSTAL~1/ENGINE/6/INTEL3~1/ctor.dll,LaunchSetup "D:/Program Files/InstallShield Installation Information/PRODUCT_GUID+"//setup.exe"
if (AddFolderIcon(szProgramFolder, szItemName, szCommandLine, szWorkingDir,
szIconPath, nIcon, szShortCutKey, nFlag) < 0) then
return -1;
endif;
nResult = CreateShellObjects( "" );

if nResult <0 then

return nResult;
else

ShowProgramFolder (szProgramFolder,SW_SHOW);
return nResult;
endif;
endif;
end;
 
很有意义的问题,这方面的资料真的是太少了。
我还有一个问题:我用的是IS6。3,还有一个专门为Delphi服务的3.0版,不同的版本间的
安装源文件能够相互转换吗?
 
哥们儿,你上面那个下载远东语言包的不通,麻烦你了,
不好意思
 
http://powerpb1.home.sohu.com/installshield.htm
对InstallShield6有介绍和例子,还有下载....
快去看看,去晚了被删掉就可惜了 [:D]
 
YANGWEI0308的方法可以实现的,我也是这么实现的,很方便。
 
我也正在用is6打包,暂时没遇到问题
我们可以探讨探讨!
dayhillbird@sina.com
 
我说说建立反安装快捷方式的一些经历。
做反安装的快捷方式还是读注册表比较保险,因为installshield可能安装在别的地方。
如果是在installshiled安装程序里写快捷方式,用UNINSTALL_STRING变量可以直接得到
反安装程序的运行字符串,用它直接建立快捷方式即可。
另外,我所用的远东语言包有一个BUG,不知大家的有没有,就是UNINSTALL_STRING变量
内容不正确,因此在控制面板卸载程序时,无法运行反安装程序,因为UNINSTALL_STRING不正
确,我是这样做的:
function CorrectUninstallString()
//纠正V6.2远东语言包的BUG(无法反安装)
STRING szString1,szLins,svValue;
NUMBER NLinl,NValue,NSize,nType;
begin
NLinl=StrFind(UNINSTALL_STRING,"<UNINSTALL_CMD>");
if NLinl<0 then
//正常的
else
//需要纠正
StrSub(szString1,UNINSTALL_STRING,0,NLinl);
UNINSTALL_STRING=szString1+",LaunchSetup "+'"'+DISK1TARGET+'//setup.exe"';
endif;
end;
 
多人接受答案了。
 
后退
顶部