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

无法通过 NFS 共享启动 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 ===

答案1

视窗在“工作目录”中写入临时文件。

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

修改您的脚本以从某个 r/w 位置启动,然后在尝试执行时调用该 NFS 卷和文件的明确路径。

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

相关内容