域用户安装软件权限

  • 格式:doc
  • 大小:26.50 KB
  • 文档页数:2

下载文档原格式

  / 4
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

问题描述:在一个多用户的系统中安装一个软件,使各个用户在安装完后都出现该软件的图标并能正常运行(比如联众)。现在的问题是在我安装完后,只有我的环境中有,其他的都没有,拷贝快捷方式也不能用,不得已只能分别重新安装。

问题回答:

如果程序在设计的时候允许默认安装模式是写入x:\Documents and settings\All user的profile 和\Program Files\Common Files,那么大多数程序是可以被多用户公用的。但很多的程序并不支持这个功能,或者说程序的设计者在多用户方面考虑欠妥。

另外一方面,很多的程序并没有考虑在域中domain user权限的环境下使用,对于注册表和安装目录都需要有读写权限。

通常的情况下,都可以通过迁移安装软件的那个账户(常常是Local administrator)下的profile 来达到这个目的。

下面以domain user使用office2000的办法来说明这个问题。

问:

在安装了office2000和微软vb,vc++6.0的win2000电脑上,域用户第一次登陆并第一次运行office2000(例如outlook)或者vb时就会出现office2000设置,要等半天设置好之后才能运行这些程序。如果没有等0ffice设置完而点击取消了,下次运行时还是会设置;如果耐心等office设置运行完下次就不会出现了。有没有可以让新开的域用户第一次使用时不出现这些烦人的设置呢?

答:

导致这个动作的原因是这样的:

每当登陆的用户发生变化,启动office后,office都会调用data1.msi重新注册用户信息。如果在当前路径和系统路径找不到此文件,就会弹出对话框询问此文件的位置。

如果能够找到此文件,哪怕当前目录无法写入,系统也不会提示错误,正常进入,

这可能是设计使然:)

那么,我们一般有2中办法来解决这个问题。

一、在管理员的环境下启动office以后,copy管理员的profile。这个动作,最好是用除local administrator和domain user两者之外的账户来做,一般就用domain admin好了。

这么做的目的是为了避免系统复制profile的过程中导致文件占用,从而导致复制失败。

方法是在“我的电脑”“用户配置文件”,选择administrator的profile,然后“复制到”选择document and settings下的domain user的目录。确定。

选择所有者“更改”,更改为domain user。(注意:这一步非常重要,如果不更改,copy过去后,即使用domain user登陆,权限完全是administrator,因为它复制了管理员的注册表,而所有的权限设定都在注册表中纪录)

二、在fileserver上开设目录,放置data1.msi。或者在本地放置,(或者干脆放在netlogon目录:)这个做法,虽然可行,但不规范,我只是做个比方)然后在注册表中更改data1.msi 的位置,指向它们就可以了。

data1.msi的位置如下:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Installer\Products?E872D116BF00006799C897E\SourceList]

"LastUsedSource"=hex(2):6e,00,3b,00,31,00,3b,00,5c,00,5c,00,31,00,30,00,2e,00,

31,00,35,00,30,00,2e,00,37,00,2e,00,33,00,33,00,5c,00,73,00,6f,00,66,00,74,

00,77,00,61,00,72,00,65,00,5c,00,00,00

[HKEY_CLASSES_ROOT\Installer\Products?E872D116BF00006799C897E\SourceList\Net]

"1"=hex(2):5c,00,5c,00,31,00,30,00,2e,00,31,00,35,00,30,00,2e,00,37,00,2e,00,

33,00,33,00,5c,00,73,00,6f,00,66,00,74,00,77,00,61,00,72,00,65,00,5c,00,00, 00

后面是hex的数据,在注册表中是可见的,大家可以修改好之后,再导出使用。如果想看的更为直观一些,可以使用regedt32.exe编辑。

至于这个注册表如何分发,编写.adm模板也可,策略分发也行,脚本执行也可。

上面是在域中调试domain user软件环境的普遍方法,如果迁移完profile之后,仍然有软件无法正常工作,那么无非有两个方面,一、安装目录的读写权限;二、软件在注册表中的键值的读写权限。

对于前面的,可以在相应文件夹权限-右键属性--安全中赋予domain user读写权限;后者可以使用regedt32.exe找到软件在注册表中的子键,然后在安全菜单中,赋予domain user对该子键的读写权限。

比较典型的一个例子,就是金山词霸和译点通,一个给注册表,一个给安装路径就可以了

在注册表里加一个权限就可以了。用regedt32打开注册表在HKEY_LOCAL_MACHINE 键下SOFTWARE的安全性选项有个使用权限,把Everyone加进去,然后再SOFTWARE键下的CLASSES项的安全性选项的使用权限里把Everyone也加进去,软件就可以在域用户下面用了