为什么用installshield做的安装盘,不能覆盖安装?(30分)

  • 主题发起人 主题发起人 yhl1118
  • 开始时间 开始时间
Y

yhl1118

Unregistered / Unconfirmed
GUEST, unregistred user!
如果以前安装过,再运行安装盘,它会提示先卸掉以前安装的,
但我想直接覆盖掉以前的,要如何做安装盘呢?
 
怎么没有人知道吗,来人啦!!!
 
用DELPHI6附带的installshield做的安装程序应该可以做到这一点
 
能否告诉我如何做,我现在用的是6.3版本
 
大家都没有遇到吗, 怎么了,给点意见嘛
 
·¥()·*¥)*¥·)#*¥——)(#¥
 
应本身就这样,干吗一定要覆盖呢?
 
建议用innosetup,华军软件园里有下载
 
问题是先卸掉,原来做的一些记录就被删掉了,所以这样肯定不方便
 
可是我在installshield写了一些代码,用其他的又要重新写,太麻烦了,
我想还是用installshield,应该可以解决的吧,很多软件,都没有叫你先卸载,
它们是如何做的呢
 
不会吧,这就是dfw啊
 
HOWTO: Creating a Project that Cannot be Uninstalled
Document ID: Q105100
This article applies to the following:
Product(s): InstallShield Professional 6.x
Last Revised On: 01/10/2001
Summary
How can I create an installation thatdo
es not appear in the add/remove programs applet in the Windows Control Panel, and cannot be removed?

--------------------------------------------------------------------------------

Discussion
By default, InstallShield creates an entry in the add/remove programs applet in the Windows Control Panel for each unique setup you install. If you desire to remove this entry, thereby not providing the user the option of uninstalling, you cando
so by removing the corresponding registry entry.
The uninstall key, which causes this entry in the add/remove programs applet in the Window Control Panel, is located in the following location in the registry:
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall/<your project GUID>
Simply delete this key using the RegDBDeleteKey function in the script portion of the project. It is recommended to call the function in the OnFirstUIAfter event, therefore occurring after all files have been transferred to the target machine.
The function call would look similar to the following:
szSubKey = "SOFTWARE//Microsoft//Windows//CurrentVersion//Uninstall" ^ PRODUCT_GUID;

RegDBDeleteKey (szSubKey);
Note: Your project GUID can be found by opening your project in InstallShield, clicking the Project pull-down menu, and selecting the Settings option.

--------------------------------------------------------------------------------

Additional Information
Removing the user抯 ability to uninstall the application should be seriously considered before following the steps outlined in this article.
 
OnFirstUIBefore
begin
.....
.....
//Add one line here
UNINSTALL_STRING = UNINSTALL_STRING+" anything";
return 0;
end;

OnMaintUIBefore
begin
if (CMDLINE = "") then
//Reinstall
ShowObjWizardPages(nResult);
ComponentReinstall();
else
//Uninstall
ShowObjWizardPages(nResult);
ComponentRemoveAll();
endif;
// setup default status
SetStatusWindow(0, "");
Enable(STATUSEX);
StatusUpdate(ON, 100);
end;
 
我也想知道,我安装flashget的新版本,他可以保留原来的数据,
可是我做的安装程序总是要我先卸掉,再安装,这是不是installshield无法做到,
只能用wise吗,盼高手回答!!!
 
to peng_qs:谢谢,确实可以
另外,我想问问,如果想判断一下某程序正在运行时,提醒用户先关闭,这要在哪里写,
要如何写?
 
多人接受答案了。
 

Similar threads

回复
0
查看
863
不得闲
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部