无法从 NFS 共享启动 MSI 安装程序

wew*_*nas 7 windows windows-server-2008 nfs windows-installer msi

我有一台 Linux 服务器,我在其中配置了只读 NFS 共享。我目前使用的客户端是一台安装了 NFS 功能的 Windows Server 2008 R2 机器。我能够打开和执行除任何 MSI 文件之外的所有文件。出于某种原因,除非我将驱动器映射到驱动器号,否则我无法通过此共享执行 MSI 安装程序(安装程序在本地复制时工作,但如果可能的话,我试图避免这种情况)。当我尝试直接从 UNC 路径执行它时出现以下错误:

无法打开此安装包。 与应用程序供应商联系以验证这是一个有效的 Windows Installer 程序包。

什么可能导致这种情况?映射共享使其工作的原因是什么?

编辑 - 以下是使用带有详细日志记录的 msiexec 调用 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 ===
Run Code Online (Sandbox Code Playgroud)

小智 2

Windows喜欢在“工作目录”中写入临时文件。

我怀疑您的脚本正在“cd”到该 NFS 目录中,但无法在该位置写入任何临时文件,并且死在一堆中,或者用户“单击”该 NFS 卷中的图标,并且以某种方式失败。

修改脚本以在某个读/写位置启动,然后在尝试执行它时调用该 NFS 卷和文件的显式路径。

如果用户“单击图标”进行安装,则创建一组“快捷方式”图标供人们运行安装,并在每个快捷方式中分配一个“工作目录”。这应该可以解决大多数问题。