我有一个Linux服务器,我已经configuration了一个只读的NFS共享。 我目前正在使用的客户端是安装了NFSfunction的Windows Server 2008 R2计算机。 我可以打开并执行除MSI文件以外的所有文件。 出于某种原因,除非我将驱动器映射到驱动器号,否则我无法通过此共享执行MSI安装程序(安装程序在本地复制时工作,但我尽可能避免这种情况)。 当我尝试直接从UNCpath执行时出现以下错误:

什么可能导致这个? 映射使其工作的份额是什么?
编辑 – 以下是使用msiexec进行详细logging时使用MSI进行调用的结果:
=== Verbose logging started: 1/30/2014 10:12:29 Build type: SHIP UNICODE 5.00.7601.00 Calling process: C:\Windows\system32\msiexec.exe === MSI (c) (80:F0) [10:12:29:228]: Font created. Charset: Req=0, Ret=0, Font: Req=MS Shell Dlg, Ret=MS Shell Dlg MSI (c) (80:F0) [10:12:29:228]: Font created. Charset: Req=0, Ret=0, Font: Req=MS Shell Dlg, Ret=MS Shell Dlg MSI (c) (80:34) [10:12:29:237]: Resetting cached policy values MSI (c) (80:34) [10:12:29:237]: Machine policy value 'Debug' is 0 MSI (c) (80:34) [10:12:29:237]: ******* RunEngine: ******* Product: \\d-devfs02.domain.com\software\Nunit\NUnit-2.6.2.msi ******* Action: ******* CommandLine: ********** MSI (c) (80:34) [10:12:29:246]: Note: 1: 2203 2: \\d-devfs02.domain.com\software\Nunit\NUnit-2.6.2.msi 3: -2147024846 MSI (c) (80:34) [10:12:29:247]: MainEngineThread is returning 1620 === Verbose logging stopped: 1/30/2014 10:12:29 ===
Windows 喜欢在“工作目录”中写入临时文件。
我怀疑你的脚本正在对这个NFS目录做一个“cd”,并且没有在那个位置写入任何临时文件,并且死在一堆,或者用户“点击”在这个NFS卷中的图标,并且以某种方式失败。
将脚本修改为在某个r / w位置启动,然后在尝试执行时调用该NFS卷和文件的显式path。
如果用户使用“点击图标”进行安装,则可以创build一组“快捷方式”图标供人们运行安装,并在每个快捷方式中分配一个“工作目录”。 这应该清除大部分问题。