伟哥的博客

一个IT从业者

« | »

终端服务的多用户环境下 GetWindowsDirectory()的返回

davidyu720 | 28 三月, 2008 16:06

问题是这样的:一个InstallShield做的安装程序,在2000/XP上能正常安装,在Windows Server 2003 Standard Edition也正常,但在Windows Server 2003 Enterprise Edition中则表现得很怪:一些共享的DLL只能被安装用户所使用,其它用户登录启动程序时,报找不到DLL的错误。

查了一下这些DLL,发现没有安装到正常的C:\WINDOWS中,而在C:\Documents and Settings\Administrator\WINDOWS中。

查InstallShield工程得知安装目标为 <WINDIR>;

查<<MSDN>>得知:
在终端服务的多用户环境下,GetWindowsDirectory()返回的是每客户的window目录名。
GetSystemWindowsDirectory()能在多用户环境下获取共享windows目录名。

后来采用了简单的办法:修改InstallShield工程,将安装目标指向 <WINSYSDIR>.


最新回复

发表评论

authimage

 
Accessible and Valid XHTML 1.0 Strict and CSS
Powered by pLog - Design by BalearWeb