WIX:从映射的网络驱动器运行msi

WIX:从映射的网络驱动器运行msi,wix,windows-installer,custom-action,network-drive,mapped-drive,Wix,Windows Installer,Custom Action,Network Drive,Mapped Drive,我已创建带有延迟自定义操作的msi包: <CustomAction Id="TestTxt" BinaryKey="MyDLL" DllEntry="TestTxt" Execute="deferred" Impersonate="no" /> <CustomAction Id="SetTestTxt" Property="TestTxt" Value="[SourceDir]test.txt" /> 此CA读取放置在msi旁边的test.txt文件的内容 从本地驱

我已创建带有延迟自定义操作的msi包:

<CustomAction Id="TestTxt" BinaryKey="MyDLL" DllEntry="TestTxt" Execute="deferred" Impersonate="no" />
<CustomAction Id="SetTestTxt" Property="TestTxt" Value="[SourceDir]test.txt" />

此CA读取放置在msi旁边的test.txt文件的内容

从本地驱动器和网络路径,安装工作正常, 但是当我试图从映射的网络驱动器运行它时,CA找不到test.txt文件。 我得到System.IO.DirectoryNotFoundException异常

您是否知道问题所在,以及我如何解决?
谢谢

问题可能是msi以提升的权限运行,在这种情况下,网络映射驱动器对进程不可用(请参阅)。KB中的解决方案意味着注册表编辑和计算机重启,因此我没有想到简单的解决方案。

SourceDir应该为映射驱动器正确设置。您可以尝试创建安装日志,查看它对映射的网络驱动器的值。SourceDir是正确的。在CustomAction的日志中,我可以看到缺少的文件是M:\test.txt(M是映射驱动器)…感谢您的回答。虽然我正在XP上运行安装程序,但我尝试添加注册表项,但没有任何帮助…您的帐户是管理员帐户吗?您还可以在Process Monitor下运行安装程序以获得更多信息。