HOWTO:如何制作卸载时需要确认密码的安装包
2010-10-19 10:24
886 查看
很早之前记得有朋友问到如何让自己的安装包在目标机上卸载时,进行密码确认,避免本机其他用户误卸载程序。
卸载需要密码确认,那自然是在安装时由用户设置卸载密码,代码如下:
代码
1 function OnBegin()
2 string szQuestion, szDefault, svResult, svValue;
3 begin
4 // TODO: Perform custom initialization steps, check requirements, etc.
5
6 if (!MAINTENANCE) then
7 // set variable value during first time install
8 szQuestion = "Please enter your uninstall password";
9 szDefault = "Default";
10 AskText ( szQuestion , szDefault , svResult );
11
12 //set the variable using the TextSub object
13 TextSub.Value("MyVar") = svResult;
14 else
15 // retrieve value during maintenance setup
17 svValue = TextSub("MyVar");
18
19 szQuestion = "Please enter your uninstall password";
20 szDefault = "";
21 AskText ( szQuestion , szDefault , svResult );
22
23 if ( StrCompare(svResult,svValue) != 0 ) then
24 MessageBox("Uninstall password is invalid, please contact with your adminstrator.", SEVERE);
25 abort;
26 endif;
27 endif;
28 end;
还有一种情况,就是安装时不提示设置密码,将密码直接通过硬编码的方式设置到安装包中,这种主要是避免用户随意卸载,当然卸载口令掌握在该软件的Vendor手中。
将上述代码稍作修改就可以做到,记得没错的话,这种安装包在杀毒软件Norton的安装包中见过,不过好像是企业重新打包添加进去的。
转载自Kevin.Wan博客,更多InstallShield 安装打包技术交流问题,感兴趣的朋友们可以看看www.appinstall.cn中文论坛
卸载需要密码确认,那自然是在安装时由用户设置卸载密码,代码如下:
代码
1 function OnBegin()
2 string szQuestion, szDefault, svResult, svValue;
3 begin
4 // TODO: Perform custom initialization steps, check requirements, etc.
5
6 if (!MAINTENANCE) then
7 // set variable value during first time install
8 szQuestion = "Please enter your uninstall password";
9 szDefault = "Default";
10 AskText ( szQuestion , szDefault , svResult );
11
12 //set the variable using the TextSub object
13 TextSub.Value("MyVar") = svResult;
14 else
15 // retrieve value during maintenance setup
17 svValue = TextSub("MyVar");
18
19 szQuestion = "Please enter your uninstall password";
20 szDefault = "";
21 AskText ( szQuestion , szDefault , svResult );
22
23 if ( StrCompare(svResult,svValue) != 0 ) then
24 MessageBox("Uninstall password is invalid, please contact with your adminstrator.", SEVERE);
25 abort;
26 endif;
27 endif;
28 end;
还有一种情况,就是安装时不提示设置密码,将密码直接通过硬编码的方式设置到安装包中,这种主要是避免用户随意卸载,当然卸载口令掌握在该软件的Vendor手中。
将上述代码稍作修改就可以做到,记得没错的话,这种安装包在杀毒软件Norton的安装包中见过,不过好像是企业重新打包添加进去的。
转载自Kevin.Wan博客,更多InstallShield 安装打包技术交流问题,感兴趣的朋友们可以看看www.appinstall.cn中文论坛
相关文章推荐
- HOWTO:如果制作卸载时需要确认密码的安装包
- HOWTO:安装包卸载时如何保留部分文件不被卸载
- NSIS制作安装包,如何检测并卸载已有版本
- HOWTO:InstallShield中如何制作应用程序的卸载快捷方式
- vs2010 c#如何制作安装包并创建桌面快捷键,卸载包
- HOWTO:安装包卸载时如何删除安装时写在系统环境变量中的内容
- HOWTO:InstallShield中如何制作应用程序的卸载快捷方式
- HOWTO:用InstallShield制作安装包时如何重写取消安装确认部分的逻辑
- NSIS制作安装包,如何检测并卸载已有版本
- [Winform]setupfactory制作安装包卸载输入密码进行验证
- installshield制作的安装包卸载时提示重启动的原因以及解决办法
- 用VS制作WinForm安装包及卸载包
- proxy如何解决需要用户名密码
- 如何解决下载中心部分资源解压需要密码的问题
- 使用 CleanWipe 解决Symantec Endpoint Protection卸载需要密码问题
- 如何卸载密码保护的Symantec Endpoint Protection
- Android 如何判断wifi热点是否需要密码
- installshield制作的安装包卸载时提示重启动的原因以及解决办法
- 使用installshield12制作的安装包在卸载时杀死正在运行的程序
- 如何制作WinCE安装包