【问题标题】:Add refrence to Iconic.dll (DotNetZip) In My Wix Installer在我的 Wix 安装程序中添加对 Iconic.dll (DotNetZip) 的引用
【发布时间】:2014-04-08 13:16:12
【问题描述】:

我有一个使用 DotNetZip 库中的文件“Ionic.Zip.dll”的程序,我将安装程序应用于该程序。

我正在使用 DotNetZip

现在我无法将“Ionic.Zip.dll”的引用添加到 Wix(installer) 项目,当我尝试添加引用时出现以下错误:

“无法添加对 [文件路径] 的引用。请确保 该文件是可访问的,并且它是一个有效的 WiX 参考。“

我认为 Wix 只接受项目引用而不接受 dll 文件。

我能做什么?非常感谢您的帮助!

【问题讨论】:

  • 如果你分享一些代码可能更容易帮助你
  • Yan 我认为共享我的代码不会完成任何事情,因为我没有尝试仅通过 UI 以任何形式的代码编写添加 dll(鼠标右键单击,“添加引用”选择我的dll,得到错误)。所以我需要知道如何安装我的软件(使用 Wix)并在安装我的软件时添加一个 dll 文件(可能是添加组件?),当我的软件在计算机上运行时(在安装课程)。有道理吗?

标签: c# dll reference wix


【解决方案1】:

我认为 Wix 只接受项目引用而不接受 dll 文件。

我一直在等待这个,因为我不确定您所说的“参考”是什么意思。

谈到 WiX,我发现添加对项目/DLL 的引用是一件痛苦的事情。也许我对它们不满意,我不确定,但我发现添加项目(及其所有依赖项)的最简单方法是简单地制作一堆 Component 元素,并为每个元素分配一个文件被编译到的文件夹中的文件,请参见下面的一般示例(这只是基于我如何布置我的 product.wxs 文件):

<Fragment>
    <ComponentGroup Id="MainProgramFiles" Directory="INSTALLFOLDER">
        <Component Id="FooEXE">
            <File Source="..\Foo\Foo.exe"/>
        </Component>
        <Component Id="BarDLL">
            <File Source="..\Foo\Bar.dll"/>
        </Component>
        <Component Id="DotNetZipDLL">
            <File Source="..\Foo\DotNetZip.dll"/>
        </Component>
        <Component Id="AnotherExampleDLL">
            <File Source="..\Foo\AnotherExample.dll"/>
        </Component>
    </ComponentGroup>
</Fragment>

注意:您需要在 WiX 文件之前构建您的其他项目才能使其正常工作。

如果您有任何问题,请随时提出,希望对您有所帮助。

【讨论】:

  • 好人!这就是我的意思...假设我这样做(在我的程序文件夹中安装了一堆 dll)我的程序如何知道从该文件夹中获取 dll ?我需要配置(在实际程序项目中)?你明白我的问题吗? (我很难解释自己)
  • 默认情况下,所有 DLL 都编译到您将主项目编译到的同一文件夹中,因此所有文件都放在一起,并且 foo.exe 将在安装这些 DLL 的文件夹中查找。
  • 最后一件事:当您写道:“您需要在 WiX 文件之前构建您的其他项目才能使其正常工作。”您说的是先构建我的软件项目,然后再构建 Wix 安装程序项目?我猜对了吗?
猜你喜欢
  • 1970-01-01
  • 2017-10-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-29
  • 1970-01-01
相关资源
最近更新 更多