启动时如何解决设置崩溃问题?

时间:2016-11-07 18:27:00

标签: wix bootstrapper burn wix3.8

使用Windows Server机器2012 R2机器进行设置(exe)并使用Wix v3.10。

当我在任何计算机上运行从Windows Server 2012 R2计算机获取的刻录可执行文件时,安装程​​序崩溃并显示错误为" System.IO.DirectoryNotFound"未找到。

在进一步调查此问题时,在使用WixBundleProviderkey检索刻录和引导程序相关文件(来自临时位置的.ba文件夹)期间发生了此异常。因为,.ba文件夹存在于某些其他(一些Guild(文件夹名称)}名称而不是临时位置中的所需目录。仅当从Windows Server 2012 R2计算机进行设置时才会出现此问题其他一些Windows机器,如果我们从它进行设置。

存在.ba文件夹的实际路径: C:\ Users \ server \ AppData \ Local \ Temp \ 2 {32DB2298-79D9-4816-9BD6-ABA4271CCA2F}

应用程序搜索.ba文件夹的路径: C:\ Users \ server \ AppData \ Local \ Temp \ 2 {36823a7e-b6d2-4db1-b0d1-212cdf7bd669} \

有谁可以让我们知道为什么在Windows服务器机器上发生此问题?

WixBundleProviderkey的主要功能是什么?

以下是我在启动设置时面临问题的代码

string baFolder = System.IO.Path.GetTempPath()+ SyncBA.Model.Bootstrapper.Engine.StringVariables [" WixBundleProviderKey"] +" \";

1 个答案:

答案 0 :(得分:1)

这是由于v3.10.3中添加了安全性缓解措施。不再使用bundle的id创建那个临时文件夹,它是一个随机的guid。您应该以不同的方式获取BA的位置,例如AppDomain.CurrentDomain.BaseDirectory