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>.
| « | 八月 2008 | » | ||||
|---|---|---|---|---|---|---|
| 一 | 二 | 三 | 四 | 五 | 六 | 日 |
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |