俞木发
电脑中有很多程序是系统的重要组件或常用工具。不过,在默认的设置中,这些程序并没有受到系统的特别保护或者被加上特定的标记。这样,其他使用我们电脑的用户(如电脑给孩子使用时),可能会误删这些程序;或者一些新手在清理系统时不知道哪些程序可以卸载,从而可能会误卸载了重要程序。其实,大家只要用好系统自带的组件,即可解决上述的问题,实现对程序更好的保护。
很多程序在安裝时会提示,是为所有用户还是仅为当前用户安装。要更好地保护程序不被其他用户误卸载,这里建议都选择“仅为我安装”,这样安装的程序就不会出现在其他用户的“添加/删除程序”列表中了(图1)。
当然,还有不少程序安装时不会出现上述的选择界面,而是默认针对所有用户直接安装。如果需要对这类程序进行保护,可以通过修改注册表相应的键值来实现。比如笔者的电脑中有A和B两个用户,已经安装的7-Zip程序默认在A、B登录后都会出现在“添加/删除程序”列表中,现在需要在B登录后看不到这个已安装的程序。
以A的身份登录系统后,启动注册表编辑器并依次展开[ HKEY_LOCAL_MACHINE\SOFT WARE\Microsoft\Windows\CurrentVersion\Uninstall],其下的键值就是针对本机所有用户安装的程序列表(图2)。而键值[HKEY_CURRENT_USER\Sof t ware\Microsof t\Windows\Cur rentVersion\Uninstall]下对应的是针对当前用户的程序列表。[ HKEY_LOCAL_MACHI NE\SOFTWARE\Wow6432 Node \Microsof t\Windows\CurrentVersion\Uninstall]下保存的则是X6 4位系统下安装的X8 6程序,即安装在“C:\ProgramFiles (x86)\”下的那些程序。
接着在图2所示的界面中选中“7-Z i p”项,右击并选择“导出”,将其导出为7z i p . r e g,保存到桌面上备用。再使用记事本程序打开7zip.reg文件,将其中的“HKEY_ LOCAL _MACHINE”更改为“HKEY_CURRENT_USER”(图3)。
然后保存文件并双击它,导入注册表中。再将图2所示的“7-Zip”项删除。重启后分别以A、B用户登录,启动“设置”中的“应用和功能”,这样在用户B的程序列表中,就看不到7-Zip程序了。
如果需要在所有用户登录后都无法看到7-Zip,那么只要在图2所示的窗口中定位到右侧的空白窗格,右击并依次选择“新建→Dword(32位)值”,按提示新建一个名为“SystemComponent”的值,并将其数据设置为1即可。
为了方便对重要的程序进行保护,我们可以在注册表中为程序添加特殊标记。打开[HK E Y_CURRENT_USER\SOFTWARE \ Microsoft\Windows\Cur rentVersion\Uninstall \7-Zip],然后双击右侧窗格中的“DisplayName”(即程序列表显示的名称),将其值更改为“7-Zip 16.04 (必须的解压软件,请勿卸载)”。重启后再次打开图4所示的窗口,这样7-Zip就按更改的名称显示了(图4)。同样,大家可以将一些英文软件、重要的系统软件等更改为自己设定的名称。
对于一些重要的程序,如果不想在列表中隐藏(方便自己查看),但是又需要阻止登录用户的卸载(如已经在图4所示列表中显现的程序),可以通过更改卸载命令的方法进行保护。例如,需要限制用户卸载本机安装的微信,展开注册表到[HKEY_LOCAL_MACH INE\SOFTWAR E\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\WeChat],然后将右侧“UninstallString”的数值更改为“runas/user:cfan "C:\Program Files(x86)\Tencent\WeChat\Uninstall.exe"”,其中“cfan”为本机用户,可以为其设置一个强健密码(图5)。
这样,当用户试图卸载微信时,系统就会弹出窗口,需要输入c fan账户的密码才能完成卸载,否则无法成功卸载。