我使用WiX捆绑MSI安装文件。安装完成后,我执行程序但得到以下错误。
无法加载DLL' SQLite.Interop.dll':找不到指定的模块。 (HRESULT异常:0x8007007E)
我尝试将两个引用:SQLite.Interop
(x86和x64)添加到WiX项目中。但我明白了:
扩展程序' ... \ SQLite.Interop.dll'由于以下原因无法加载:无法加载文件或程序集' file://.../ x86 / SQLite.Interop.dll'或其中一个依赖项。该模块应该包含一个程序集清单。
这个错误是由WiX还是我自己的应用程序引起的?
我尝试将SQLite.Interop.dll
(x64)的引用添加到主项目中,但它会出现此错误。
对' V:\ Users ... \ bin \ Debug \ x64 \ SQLite.Interop.dll'的引用无法添加。请确保该文件是可访问的,并且它是有效的程序集或COM组件。
答案 0 :(得分:2)
在Product.wxs
文件中,添加以下内容:
<Directory Id="INSTALLFOLDER" Name="MyApp">
<!-- ... -->
<Directory Id="x86_dir" Name="x86" />
<Directory Id="x64_dir" Name="x64" />
</Directory>
并添加以下内容:
<Fragment>
<ComponentGroup Id="x86_files" Directory="x86">
<Component Id="SQLite_x86.Interop.dll" Guid="{GUID}">
<File Id="SQLite_x86.Interop.dll" Name="SQLite.Interop.dll" Source="$(var.MyApp_TargetDir)x86\SQLite.Interop.dll" />
</Component>
</ComponentGroup>
</Fragment>
<Fragment>
<ComponentGroup Id="x64_files" Directory="x64">
<Component Id="SQLite_x64.Interop.dll" Guid="{GUID}">
<File Id="SQLite_x64.Interop.dll" Name="SQLite.Interop.dll" Source="$(var.MyApp_TargetDir)x64\SQLite.Interop.dll" />
</Component>
</ComponentGroup>
</Fragment>