我用Install shield做了一个安装程序,大体上没问题,反安装上出了这样一个问题:
Uninstall在重复运行setup.exe文件时是能用的,但在"控制面板"->"添加/删除程序"中却不能用,点击删除按钮时没有反应.看了一下注册表,在HKEY_LOCAL_MACHINE->SOFTWARE->Microsoft->Windows->CurrentVersion->Uninstall下,用Install shield做的安装程序所对应的项里面的Uninstall String键值,正常的应该是这种结构:
RunDll32 C:\PROGRA~1\COMMON~1\INSTAL~1\engine\6\INTEL3~1\Ctor.dll,LaunchSetup "C:\Program Files\InstallShield Installation Information\{7C57AFCF-C63B-11D4-8B34-00105A9846E9}\Setup.exe"
而我的却是这样的:
RunDll32 C:\PROGRA~1\COMMON~1\INSTAL~1\engine\6\INTEL3~1\Ctor.dll<UNINSTALL_CMD>
即没有指定到一个具体的反安装程序文件,但是我查过,我的安装程序的反安装文件也是存在的,和正常的反安装程序完全一样,只要我改了注册表键值,指定到我的反安装程序文件,就一切正常了,我都是按Wizard的指示一步一步做的呀,为什么会这样?做一个简单的关联Wizard都做不到吗?还要自己再去改?请高手指点呀,为什么会这样,我又怎么在做安装程序时去做这种关联?
Uninstall在重复运行setup.exe文件时是能用的,但在"控制面板"->"添加/删除程序"中却不能用,点击删除按钮时没有反应.看了一下注册表,在HKEY_LOCAL_MACHINE->SOFTWARE->Microsoft->Windows->CurrentVersion->Uninstall下,用Install shield做的安装程序所对应的项里面的Uninstall String键值,正常的应该是这种结构:
RunDll32 C:\PROGRA~1\COMMON~1\INSTAL~1\engine\6\INTEL3~1\Ctor.dll,LaunchSetup "C:\Program Files\InstallShield Installation Information\{7C57AFCF-C63B-11D4-8B34-00105A9846E9}\Setup.exe"
而我的却是这样的:
RunDll32 C:\PROGRA~1\COMMON~1\INSTAL~1\engine\6\INTEL3~1\Ctor.dll<UNINSTALL_CMD>
即没有指定到一个具体的反安装程序文件,但是我查过,我的安装程序的反安装文件也是存在的,和正常的反安装程序完全一样,只要我改了注册表键值,指定到我的反安装程序文件,就一切正常了,我都是按Wizard的指示一步一步做的呀,为什么会这样?做一个简单的关联Wizard都做不到吗?还要自己再去改?请高手指点呀,为什么会这样,我又怎么在做安装程序时去做这种关联?
解决方案 »
- 请教几个关于属性页(CPropertySheet)的问题。
- 问专业程序员几个问题(技术问题)
- 求:遍历MDI子窗口代码
- [help]:用多播传送文件!为什么先开发送端接收到的文件不可用呢?
- 求助...WINDOWS怎么判断模拟按键和实体键的区别的?我试着通过下面这个方法屏蔽WIN键但是失败了...可否帮我解释下究竟哪里出错了?
- VC6编程
- 雅利安人的确伟大. 如果雅利安城确实存在,雅利安城将主宰地表世界
- MFC SetCurrentDirectory 错误 10023
- WEBBROWSER中如何获取完整的cookie?
- 开放绘图软件原码,主要实现了图层等,希望对大家有所帮助!!!
- 如何让SDI程序一运行就处于最大化状态?
- RegCreateEx怎样用?
在setup.rul中OnFirstUIBefore函数的返回前加上
DISK1TARGET = TARGETDIR ^ "Uninst";
UNINSTALL_STRING = DISK1TARGET ^ "Setup.exe " + DISK1TARGET ^ "Setup.ilg"; 其中DISK1TARGET目录指向你卸载程序所在的目录