IsaacZ 发表于 2010-8-10 18:17:00

windows 7 修改程序默认安装目录(Program Files)的方法

转自:http://www.360doc.com/content/10/0511/13/177655_27057534.shtml


不可否认, windows 7 的确是非常好用的系统,不过差不多近10G的系统,让很多人想把默认安装目录移到其他分区。

但是,windows 7 又不像以前的系统那样,直接修改注册表ProgramFilesDir就可以改变,如果这么修改,会面临很多系统程序找不到,并且新安装程序时会直接报错,说找不到路径(反正我是这样)。

后来找到一法,说不光要改注册表,还得把默认的Program files目录拷贝一份,到新的默认安装目录下,不过还是有些问题出现,例如空间浪费了,例如某些图标会出错。

经过一晚的baidu,终于找到了一个近乎完美的方法。

具体操作如下:

第一步,用管理员身份 登录。复制Program Files目录,但不能直接Ctrl + C、Ctrl + V,因为我们需要保留此目录的所有权限设置,假设要从C 盘移动到D盘,必须右击附件里面的“命令提示符”,并且选择“以管理员身份运行”,然后在cmd下面输入:

xcopy "C:\Program Files" "D:\Program Files\" /E /H /K /X /Y

第二步,修改注册表:
Windows Registry Editor Version 5.00

"ProgramFilesDir"="D:\\Program Files"
"CommonFilesDir"="D:\\Program Files\\Common Files"
ps.这一步我个人认为不是必须的,但过程中可以修改,最后再改回来。

第三步,重启,注意不是注销,因为Program Files 里有很多文件是被系统服务使用的,注销并不能重启服务。

第四步,关闭iphlpsvc 服务,因为它使用到了"C:\Program Files\Internet Explorer\sqmapi.dll",同样要以管理员身份运行命令提示符:

net stop iphlpsvc

第五步,删除"C:\Program Files" 目录,要先取得所有权,添加改写权限后才可以删除。

这一步我认为是最难的,因为权限很难设,我下面大概讲解一下:
右击Program Files目录,然后选择属性,然后选择安全标签页,然后点击下面的高级按钮,然后在里面选择所有者标签页,点下面的编辑,然后把所有者设置成你当前登陆的账号,然后确定退出,在属性页上点编辑按钮,然后把当前你使用的帐户权限设置为完全控制,或者把Administrators的权限设置为完全控制,再把TrustedInstaller的权限也设置为完全控制,然后点确定,然后再重新进入安全标签页,点下面的高级按钮,然后在权限标签页,然后点下面的更改权限按钮,然后把里面最下面选项选中“使用可从此对象继承的权限替换所有子对象权限”。

另外要是遇到正在使用的文件(像我就遇到ieproxy.dll被使用),就使用winpe系统进行删除。至于怎么使用winpe,那自己百度吧。

第六步,创建Junction 文件夹映射,把"C:\Program Files" 指向"D:\Program Files"。

mklink /J "C:\Program Files" "D:\Program Files"

然后,把上面的注册表还原,就OK了。
页: [1]
查看完整版本: windows 7 修改程序默认安装目录(Program Files)的方法