【问题标题】:How do I use external files in my Wix installer?如何在我的 Wix 安装程序中使用外部文件?
【发布时间】:2015-10-20 18:06:09
【问题描述】:

我不确定这是 Wix 还是 Visual Studio 问题,但这里是:

我基本上创建了一个小型安装程序,用于将 PowerShell 模块安装到 %USERPROFILE%\WindowsPowerShell\Modules\DatabaseUserManagement。我的 .wxs 文件中的目录树如下所示:

<Directory Id="TARGETDIR"
               Name="SourceDir">
      <Directory Id="PersonalFolder">
        <Directory Id="WindowsPowerShellDir"
                   Name="WindowsPowerShell">
          <Directory Id="ModulesDir"
                     Name="Modules">
            <Directory Id="DatabaseUserManagementDir"
                       Name="DatabaseUserManagement">
              <Component Id="CMP_DatabaseUserManagementDLL"
                         Guid="MY-GUID-HERE">
                <File Id="FILE_DatabaseUserManagementDir_DatabaseUserManagementDLL"
                      Source="Files\DatabaseUserManagement.dll"
                      KeyPath="yes"/>
              </Component>
            </Directory>
          </Directory>
        </Directory>
      </Directory>
    </Directory>

现在这不会编译,因为 DatabaseUserManagement.dll 实际上是作为链接添加到解决方案中的,因此不存在于“文件”子目录中。

错误很简单:
The system cannot find the file 'Files\DatabaseUserManagement.dll'.

我想要做的是在项目构建时,我希望它将 dll 从其原始位置(例如,假设它是 C:\Files\DatabaseUserManagement.dll)复制到项目下'Files' 子目录,然后构建项目。

有什么办法可以实现吗,还是每次更新都得手动复制这个DLL?

【问题讨论】:

    标签: visual-studio wix


    【解决方案1】:

    如果您的解决方案中的另一个项目引用了 DLL,您可以可靠地从该项目的输出文件夹中获取它,只要在属性中将 Copy to local 设置为 true。

    或者,预构建事件可以将文件复制到您所需的位置。

    【讨论】:

      猜你喜欢
      • 2013-08-25
      • 1970-01-01
      • 1970-01-01
      • 2023-03-29
      • 1970-01-01
      • 2012-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多