问题标签 [paraffin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
11486 浏览

wix - 包括所有依赖项

我刚开始使用 WiX,因为我需要能够在我们的 CI 服务器上自动构建 MSI。反正有没有自动包含项目的所有依赖项?

0 投票
5 回答
26859 浏览

wix - 如何将整个目录或项目输出添加到 WiX 包

我们决定从 VS 集成设置切换到 WiX。

但是,我们目前所做的是使用项目输出文件作为设置项目的输入。这使我们可以轻松地将应用程序文件添加到目录(用于图像、示例和其他资源......),并且这些文件会在我们构建时自动添加到设置中。

我在 WiX 中找不到任何类似的功能。WiX 似乎对每个目录和文件都需要一个目录条目和一个文件条目。这将要求我们在每次添加文件时更改 WiX 源,在我看来,这是令人望而却步的,因为我们有这么多的文件。

有没有使用 WiX 的集成方式,或者我必须编写自己的任务来创建 WiX 源,然后再调用蜡烛?

0 投票
2 回答
6746 浏览

wix - WiX 自动文件包含

有没有办法根据目录结构自动包含文件?

我不想使用文件 ID 选项卡添加每个文件名。

我的构建过程创建了所需的目录结构:

如何添加这些目录及其子目录?

0 投票
2 回答
568 浏览

wix - 程序文件目录中的 WIX 石蜡

我是 WIX 新手,我正在尝试从 Windows 的 Program Files 目录中创建一个组件。在命令行中,我 cd 到C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies然后我运行命令
paraffin -dir ./ -custom GlobalSoftware globalsoftware.wxs -g
在这里我得到一个 System.UnauthorizedAccessException: Access to the path 'C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies' is denied. 当我以管理员身份登录时,我得到了同样的异常。

我怎样才能解决这个问题?

谢谢你,
文卡特饶

0 投票
1 回答
565 浏览

wix - 构建 wixproj 时运行石蜡

我有一个 WiX 项目,它引入了一个带有大量支持文件的 WiX 片段。

我正在使用石蜡为片段构建 wsx 文件。目前,每当我更改支持文件文件夹时,我都会手动运行一行批处理文件以使用带有适当参数的石蜡运行。

相反,我希望石蜡作为构建过程的一部分运行。我猜我需要在 .wixproj 文件中添加一些东西,但我实际上不确定是什么。

我该怎么做呢?

0 投票
1 回答
1110 浏览

visual-studio-2010 - 如何在安装程序项目中包含项目的所有输出?

我需要在安装程序中包含一些程序项目的所有输出......我的问题类似于这篇文章中的问题:如何将整个目录或项目输出添加到 WiX 包

但是,恐怕我并不真正理解此链接中给出的答案。从我所做的所有阅读中,我认为我需要使用石蜡来做到这一点。但是,是否有使用石蜡的“从头开始,操作方法”资源?

我已阅读此页面: http: //www.wintellect.com/CS/blogs/jrobbins/archive/2008/12/22/paraffin-3-0-now-with-full-wix-3-0-support。 aspx 和其中一篇文章提到从 bat 文件中调用石蜡。这是在他们的安装程序中“使用石蜡”的方式吗?如果它有所作为,我一直在使用 Visual Studio 来处理这个项目,而且我也不确定如何在 Visual Studio 中使用命令行。有没有人有一个非常新的初学者的任何资源?谢谢。

0 投票
1 回答
274 浏览

msbuild - 将石蜡与 TFS 结合使用

我有一个解决方案,其中包含许多我想使用石蜡来维护包含文件列表的 Wix 项目。

据我了解,您通常会将石蜡指向各个 bin 文件夹以收集所有文件。

当 TFS 构建解决方案时,它会覆盖 OutDir msbuild 属性,这会导致所有构建输出进入一个公共二进制目录,而不是每个项目的 bin 文件夹。

那么在这种情况下人们如何使用石蜡呢?

0 投票
2 回答
310 浏览

wix - WiX:石蜡和存储库/构建服务器集成

简短版本:如何确保我的组件 GUID 在构建服务器上使用石蜡保持稳定?


我目前正在开发一个应该通过 WiX 部署的项目。由于这是一个网络项目,它包含许多文件(仍处于早期阶段,已经有近 200 个文件)。此外,在开发过程中,文件会不断添加和删除,因此手动维护 WiX 组件列表根本不是一种选择。

由于我阅读了很多有关组件规则的内容,并且违反它们的人会下地狱,因此我决定使用石蜡作为收割机。此工具能够更新现有组件列表,因此不会为现有组件重新创建新的 GUID。

但是,当创建一个新组件时,该工具会分配一个新的 GUID。即使组件文件相同,初始 GUID 在不同的机器上也会不同,甚至只是在不同的时间。

因此,很明显,我需要一个中央机构来修复初始 GUID。我的想法是提交空的组件列表,然后由构建服务器在构建时调用 Paraffin 填充。因此,当我只分发由构建服务器创建的 MSI 时,我可以确定组件规则得到遵守。

但是,这种方法的问题是,如果构建服务器崩溃或清空其本地存储库,我无法跟踪我的 GUID。我正在考虑让构建服务器将生成的组件列表提交到我的存储库,但这似乎不是一个干净的想法。

我想到的另一个解决方案是让所有开发人员在提交之前构建(因此称为石蜡)。因此,每个开发人员都会为其新添加的文件创建初始 GUID,并将它们提交到组件列表。

这种方法的明显问题是:人们(例如开发人员 A)在提交之前会忘记构建。因此,在这些情况下,构建服务器将为新文件创建初始 GUID,但这些也将仅存储在本地。几次提交之后,开发人员 B 将出现并构建解决方案,为开发人员 A 创建的文件创建一个新的 GUID。然后他将提交包含此 GUID 的组件列表,构建服务器将检查它。现在,构建服务器已经获得了一个包的 GUID(由开发人员 A 创建),它之前使用了一个不同的(自己创建的)GUID,即使文件在此期间没有更改。

那么,我如何确保我的 GUID 在构建之间保持稳定,而不依赖于开发人员在提交之前构建他们的解决方案?上面列出的方法对我来说似乎都不满意,但我现在能想到的就只有这些了。

0 投票
1 回答
380 浏览

wix - 如何在使用 wix 安装服务之前等待文件安装到 GAC

我正在使用 Wix 创建我的应用程序安装程序并使用它在 GAC 中安装程序集,它工作正常。

我的问题是当我设置程序集属性'copy local=false'并且我正在执行安装时,我的服务没有被安装,因为它在本地文件夹中找不到这个 dll 并且它没有被安装到广汽还。

如果我将从 EXE 安装中安装另一个组件并验证 DLL 是否在 GAC 中,我将能够安装该服务。

我正在使用 Paraffin.exe 遍历我的应用程序目录并生成一个 wix 文件,并使用 Mold 文件添加不是来自该目录的组件。

这在负责将DLL安装到GAC然后服务的Mold文件中。

如何确保它先安装 DLL,然后再安装服务?

0 投票
1 回答
551 浏览

wix - Visual Studio ASP.NET Web API 预编译文件放置在与 TFS 不同的文件夹中

我有一个 asp.net web api 项目,其输出需要使用 wix 打包在安装项目中。

我想预编译该网站。问题是预编译过程会生成变量文件名(特别是 *.compiled 文件)。

我还想在 TFS 构建中构建设置。

看来我唯一的选择是在 wix 项目的预构建步骤中生成一个 .wxs 文件。

.wxs 文件源路径使用 $( var._My_Web_Project_ .TargetDir)。这似乎被翻译成基于Sources的目录。

我已经在使用石蜡来做到这一点,并且在使用 Visual Studio 构建解决方案时效果非常好。

通过 TFS 构建构建解决方案时,.compiled文件被复制到Binaries文件夹,而所有其他相关网站文件都被复制到基于Sources的目录。

构建错误如下:

系统找不到文件 'd:\BuildAgents\___basedir___\Binaries\___web_project_dir\_PublishedWebSites\___site___\bin\textsample.cshtml.c6fb271c.compiled'。

该文件确实在 Sources 目录中。

'd:\BuildAgents\___basedir___\Sources\___web_project_dir\_PublishedWebSites\___site___\bin\textsample.cshtml.c6fb271c.compiled'

我想我需要重新定义 aspnet_compiler 输出或类似的东西,但不知道该怎么做。

msbuild 命令行参数如下:

编辑 1:我正在使用XAML build

在此处输入图像描述

任何帮助表示赞赏。

编辑 2:使用基于新任务的构建,它按原样工作(无需使用额外的复制文件任务)。

aspnet_compiler 在正确的文件夹中输出 .compiled 文件:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_compiler.exe -v / -p D:\BuildAgents\vNext\_work\1\s\Softs\__Solution__\__Web_Project\obj\Release\AspnetCompileMerge\Source - c D:\BuildAgents\vNext\_work\1\s\Softs\__Solution__\__Web_Project__\obj\Release\AspnetCompileMerge\TempBuildDir