首页 > 解决方案 > MSI 无法加载 .dll 错误:0x8007007E wix 安装程序

问题描述

我正在尝试在自定义操作 wix 中执行此操作:

string sqlConnectionString = @"Server=MyInstanceName;Trusted_Connection=True;MultipleActiveResultSets=true";
string script = "...";
Microsoft.Data.SqlClient.SqlConnection conn = new Microsoft.Data.SqlClient.SqlConnection(sqlConnectionString);
Server server = new Server(new ServerConnection(conn));
server.ConnectionContext.ExecuteNonQuery(script);

它在控制台应用程序中工作,但是当我运行 msi 时它抛出:

无法连接到服务器 MyInstanceName。无法加载 DLL 'Microsoft.Data.SqlClient.SNI.x86.dll':找不到指定的模块。(来自 HRESULT 的异常:0x8007007E)

当我使用 Orca 时,我看不到这个 .dll。

我该如何修复它?

标签: wix

解决方案


这是 Microsoft.SqlServer.Server 的库问题。我更改了库以在 System.Data.SqlClient 上编写 sql 命令。

https://github.com/dotnet/runtime/issues/16048


推荐阅读