首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

基于要在MSBUILD中使用的用户定义目录创建wix片段文件的最佳方法

在MSBUILD中使用用户定义目录创建WiX片段文件的最佳方法是使用WiX Toolset。WiX Toolset是一个用于创建Windows安装程序的开源工具集,它提供了一组用于创建安装程序的XML文件和命令行工具。

要在MSBUILD中使用WiX Toolset,您需要首先安装WiX Toolset。您可以从官方网站下载WiX Toolset的最新版本,并按照安装说明进行安装。

接下来,您需要在MSBUILD项目文件中添加WiX Toolset的相关任务和目标。您可以使用MSBUILD的<UsingTask>元素来定义WiX Toolset的任务,并使用<Target>元素来定义构建过程中的目标。

例如,您可以使用以下代码来创建一个名为“BuildWixFragment”的MSBUILD目标,该目标将使用WiX Toolset的candle.exelight.exe命令行工具来编译和链接WiX片段文件:

代码语言:xml<UsingTask TaskName="Candle" AssemblyFile="$(WixToolPath)\Wix.dll" /><UsingTask TaskName="Light" AssemblyFile="$(WixToolPath)\Wix.dll" /><Target Name="BuildWixFragment">
复制
  <Candle
    Source="$(MSBuildProjectDirectory)\path\to\wixfragment.wxs"
    Output="$(MSBuildProjectDirectory)\path\to\wixfragment.wixobj"
    ToolPath="$(WixToolPath)" />
 <Light
    Output="$(MSBuildProjectDirectory)\path\to\wixfragment.wixlib"
    Input="$(MSBuildProjectDirectory)\path\to\wixfragment.wixobj"
    ToolPath="$(WixToolPath)" />
</Target>

在上面的代码中,$(WixToolPath)是WiX Toolset的安装目录,$(MSBuildProjectDirectory)是MSBUILD项目文件的路径。

最后,您可以在MSBUILD的构建过程中调用“BuildWixFragment”目标来创建WiX片段文件。例如,您可以在MSBUILD的<Project>元素中添加以下代码:

代码语言:xml<Target Name="Build" DependsOnTargets="BuildWixFragment" />
复制

这将使得在构建MSBUILD项目时,“BuildWixFragment”目标将被自动调用,从而创建WiX片段文件。

总之,基于要在MSBUILD中使用的用户定义目录创建WiX片段文件的最佳方法是使用WiX Toolset,并在MSBUILD项目文件中定义相关的任务和目标。这样可以确保在构建MSBUILD项目时,WiX片段文件能够被正确地创建和编译。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ASP.NET5 静态文件各种使用方式服务端静态文件开启目录浏览呈现默认文件使用UseFileServer方法文件类型基于IIS考虑最佳实践

服务端静态文件 默认情况下,静态文件被存放在项目的wwwroot目录下,而wwwroot地址被定义在project.json文件: { "webroot": "wwwroot",...... } 静态文件被存储在wwwroot下任何目录,它被客户端以相对路径方式访问,例如,当你在Visual Studio创建一个默认Web应用程序时,一些文件夹就已经创建在了wwwroot目录下...假如你知识这样简单调用了UseDefaultFiles方法并且使用一个目录Url进行访问,那么这个中间件将会搜索下列一个文件,假如他们中有一个被找到,那么这个文件将会作为默认文件被展示: default.htm...ASP.NET 静态文件中间件定义了将近400文件类型,加入用户视图访问一个中间件不包含文件类型,ASP.NET将不会尝试去提供这个文件。...使用这样目录结构,你可以通过上文中所述方法开启目录浏览和静态文件访问功能,你可以通过http://localtion/images 目录看到test.image文件,但是当你点击这个文件,你将收到一个

1.9K80

WiX 3.6——强大.NET部署工具

Visual Studio 2012去除了“VS Setup”,取而代之以开源WiX工具包来创建安装包。...最近发布WiX3.6包括Burn引导程序/安装链,这意味着不仅可以创建像MSI文件这样安装包,还可以将多个安装包组成安装链(比如安装准备)以向用户提供更加流畅安装体验。...新发布WiX还包含了一些新特性,并且修复了500多个bug。 如果你已经在使用VS Setup,可以通过这段PowerShell脚本将既有的VS Setup工程转化为WiX工程格式。...另外,相比于在文本编辑器编辑XML文件,你可以使用Votive——一个VS包。...使用Votive,可以在Visual Studio编写WiX脚本,还可以使用智能感知、MSBuild支持和工程模板等功能。

995100
  • WiX 制作安装包:制作 WPF 安装包界面(入门篇)

    小提示 本教程前面为了不引入过多复杂度,没有使用 NuGet 包工具集而是单独下载了;所以实际上大家已经有了现成工具集可供引用,我们才能使用方法修改引用路径...并且此方法也能确保 WiX 打包项目使用工具集版本和 WPF UI 项目使用工具集版本一致。...在这段代码,我们做了这些事情: 在 Run 方法全程记录日志(使用 BootstrapperApplication 基类 Engine 属性 Log 方法来记); 做了全局异常处理(避免因出现未知异常导致安装程序无法退出又看不到界面...在最终生成捆绑包,这个配置文件必须严格使用此名称。...如果发现无法运行,请前往此篇文章调试和解决问题: 使用 WiX 创建最简单安装包过程可能出现问题和解决方案汇总 如果可以正常运行,那么恭喜你,完成了 WiX 安装包入门教程 Hello World

    91620

    WiX 制作安装包:安装 WiX Toolset 工具集

    本文是 WiX Toolset 安装包制作入门教程 系列首篇,可前往阅读完整教程。 WiX 提供一组工具集,我们安装包正是通过这一组工具集来编译生成。...从官网下载安装 WiX Toolset 请前往其 GitHub 发布页下载: Releases · wixtoolset/wix3 为了简单,可下载其中 wix311.exe 文件。...使用 NuGet 方式是按项目安装,仅此解决方案(sln)有效。安装了此 NuGet 包项目将可完全使用 WiX 工具集(因为包里包含了构建安装包需要 MSBuild 属性)。... 如果感兴趣通过 NuGet 方式来安装 WiX Toolset,我可以再写一篇专门使用此方式安装并在团队所有人电脑上可直接构建安装包博客...欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://blog.walterlv.com ),不得用于商业目的,基于本文修改后作品务必以相同许可发布。

    1.9K30

    0.C#Make自动化构建-简介

    熟悉大名鼎鼎Make小伙伴,应该已经知道Cake大致是个什么样工具了,Cake具有以下几个特点: 方便编写:使用基于C#DSL,非常易于编写自动化脚本。...丰富工具集:支持MSBuild,MSTest,xUnit,NUnit,Nuget,ILMerge,Wix和SignTool等等,以及支持丰富插件(Cake Addins)。...1.1 下载引导脚本 首先第一步下载一个基于Powershell引导脚本文件build.ps1,这个文件并不是必须,你可以直接用调用cake脚本文件),在项目所在目录下运行: Invoke-WebRequest...首先,创建了一个参数target(名字和build.ps1指定参数名一致),默认值是“default”。...其次,创建了一个名为buildTask,这个task调用MSBuild来build我们项目。

    1.6K50

    WiX 制作安装包:为 WiX 制作 exe 安装包添加 .NET Framework 前置安装步骤

    本文基于前一篇文章已经建好项目继续: 用 WiX 制作安装包:创建一个简单 exe 安装包 背景知识 在开始给我们 exe 安装包增加 .NET Framework 环境检查之前,我们先了解一点背景知识...WiX 已开源,其中 wix3 代码在这里: wixtoolset/wix3: WiX Toolset v3.x 在 /src/ext/NetFxExtension/wixlib 目录下有已定义各种...: 解释一下: 我创建了一个“Assets”文件夹用于存放刚下载好 .NET Framework 离线安装包(为了避免读者在概念上产生混淆,我刻意避开使用 redist 这个名字,以示说明解决方案内文件夹结构仅为开发文件夹结构...(WiX 定义这些文件名是全大写,下载下来是全小写,虽然实际上大小写并不影响)。...如果你希望避免用户选择文件,那么就需要把安装包放到 exe 文件同级目录 redist 文件

    71510

    .NET 基金会项目介绍-WiX Toolset

    WiX Toolset 是属于 .Net 基金会一个项目,本文将简要介绍该项目相关信息。 中文介绍 中文介绍内容翻译自英文介绍,主要采用意译、如与原文存在出入,请以原文为准。...WiX Toolset 如果你想构建一个 Windows 安装工具,那么 WiX Toolset 已经准备了一组强大工具随时待命。...创建安装包过程可以无缝接入你开发过程,完美与 Visual Studio 集成。...而假若需求并不复杂,那么 WiX Toolset 就是一个有力替代方案。 因此,作为免费方案被很多开源软件所使用。...】 Peachpie Compiler Platform - 【.Net上运行PHP】 Polly - 【服务调用工具库】 Prism - 【客户端MVVM开发框架】 Protobuild - 【项目文件生成工具

    93000

    WiX 制作安装包:创建一个简单 msi 安装包

    本文操作基于系列教程一个最简项目,见 准备一个用于学习 WiX 安装包制作 Visual Studio 解决方案。...注意,选择模板要注意这些要点: 图标上标记了“wix”,标签上标记了“WiX” 模板简介说明这是在创建“MSI”文件 引用目标项目 在 WiX MSI 项目(在本教程,我取名字为 Walterlv.Installer.Msi...编辑 Product.wxs 文件 添加要打包文件 在 Product.wxs 文件,找到提示你放文件、注册表项和其他资源注释“<!...前往 MSI 文件输出目录(在项目目录 bin\Debug 下): ▲ 前往 MSI 文件输出目录 安装完后,可以在系统设置“应用和功能”以及“Program Files”目录中找到它:...欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://blog.walterlv.com ),不得用于商业目的,基于本文修改后作品务必以相同许可发布。

    1.5K60

    使用WiX制作简单MSI安装程序

    创建一个新WiX项目 1、文件--〉新建--〉项目 2、选择项目类型WiX,选择Wix项目模板点击确定 我们就创建了一个没有安装什么内容WiX项目,内容如下: <?...在这种情况下,您需要在 WiX文件定义多个 Media 元素,并根据需要将资源分配到每个磁盘。...是 Cabinet 字符串 Cabinet 名称(如果将存储在媒体上部分文件或所有文件都压缩到了 Cabinet 文件)。如果未使用任何 Cabinet,此属性必须为空。...在安装目录里面是Component元素,每一个Component就是一组我们要放置到WiX资源,就是在这个地方放置我们安装文件。...下面我们来自定义一个安装程序。 添加安装图形界面 WiX安装界面使用是命令行模式,我们现在在增加一个图形安装界面。

    3.5K90

    .NET 基金会项目介绍-MSBuild

    MSBuild 是属于 .Net 基金会一个项目,本文将简要介绍该项目相关信息。 中文介绍 中文介绍内容翻译自英文介绍,主要采用意译、如与原文存在出入,请以原文为准。...MSBuild Microsoft Build Engine, 简称 MSBuild , 是一个构建应用程序平台。...@microsoft.com 笔者简评 MSBuild 作为构建工具是.Net开发重要一环。...csproj/sln文件之所以能够工作,都是 MSBuild 在起作用。 在日常使用除了使用 VS 一键调用 MSBuild 进行生成和发布之外。...在编写自动化脚本时也无法离开 MSBuild 调用。 开发者可以自定义 MSBuild Target 任务,实现在代码构建时进行代码生成、自动化调用、输出信息等等各种各样操作。

    79610

    初试WIX加SQL LocalDB

    最近有个项目需要生成一个自动打包安装App和数据库MSI文件,经同事推荐WIX,于是乎就试了一试。...遇到了一些问题觉得有分享价值,所以写篇博客记录一下 :) 使用感觉: WIX特点:功能很强大,用XML配置实现,没有界面,弹性很大,但learning curve比较长。...& '[#SetupDatabase]' ; exit $$($Error.Count)"" /> 问题二: Window 7 对权限管控比较严,SQL Scripts对C:盘大多数目录没有创建文件权限...\Microsoft SQL Server Local DB 问题三: 怎么把一个%UserProfile%目录从Powershell传给SQL Script使用 解决方案: 在Powershell拿到...123','sa'" 以上是本人实践一些方法和遇到问题及解决方案,可能不是最佳解决方案,但确实可运行\可工作方案。 如有问题或建议,希望能和大家探讨,同时也希望本文能帮到一部分人~~

    1.3K60

    如何创建一个基于 MSBuild Task 跨平台 NuGet 工具包

    我分为两篇可以减少完成单个任务理解难度: 如何创建一个基于 MSBuild Task 跨平台 NuGet 工具包 如何创建一个基于命令行工具跨平台 NuGet 工具包 第零步:前置条件 第一步...想了解 PrivateAssets 含义一起相关属性,可以阅读我另一篇文章项目文件已知 NuGet 属性(使用这些属性,创建 NuGet 包就可以不需要 nuspec 文件啦) - 吕毅。...(如果你想了解更多 csproj NuGet 属性,可以阅读我另一篇文章:项目文件已知 NuGet 属性(使用这些属性,创建 NuGet 包就可以不需要 nuspec 文件啦) - 吕毅)...关于这些属性更详细解释,依然可以参见:项目文件已知 NuGet 属性(使用这些属性,创建 NuGet 包就可以不需要 nuspec 文件啦) - 吕毅。...,就不会随便在 csproj 写死常量啦) - 吕毅 项目文件已知 NuGet 属性(使用这些属性,创建 NuGet 包就可以不需要 nuspec 文件啦) - 吕毅 当然,还有一些正在编写,过一段时间可以阅读到

    1.4K10

    6种事件驱动架构模式

    Wix,我们将这些压缩主题用作内存 kv-store,我们在应用程序启动时加载(消费)来自主题数据。这有一个 Redis 没有提供好处,这个主题还可以被其他想要获得更新用户使用。  ...Wix Payments Subscriptions 服务就是一个例子,它管理基于订阅支付(例如瑜伽课程订阅)。 对于每个月度或年度订阅用户,必须通过支付提供程序完成续订过程。...为此,Wix定义 Job Scheduler 服务调用由 Payments Subscription 服务预先配置好 REST 端点。 订阅续期过程在后台进行,不需要(人类)用户参与。...Wix 开发人员使用我们自定义 Greyhound 消费者,因此,他们只需指定一个 BlockingPolicy,并根据需要指定适当重试间隔。...当配置重试策略时,Greyhound 消费者将创建用户定义重试间隔一样多重试主题。

    2.5K20

    WiX 制作安装包:为 WiX 制作 msi 安装包添加 .NET Framework 环境检查

    本文基于前一篇文章已经建好项目继续: 用 WiX 制作安装包:创建一个简单 msi 安装包 添加 WixNetFxExtension 引用 在 msi 安装包项目的“Reference”上右键,“添加引用...在 WiX 配置文件 wxs 里,引用一个属性方法使用 元素。.../wixlib 目录下有已定义各种 .NET Framework 版本判断逻辑。...更低版本 .NET Framework 没有直接“是否安装”判断方法,需要根据版本号比较来判断,所以我不在此入门教程列出。...如需检查这些环境,要么需要自己写判断方法(不属于此新手教程内容),要么需要升级到 WiX 4(本教程基于 WiX 3)。

    90030

    基于Kafka六种事件驱动微服务架构模式

    在过去一年里,我一直是负责Wix事件驱动消息基础设施(基于Kafka之上)数据流团队一员。该基础设施被 1400 多个微服务使用。...Wix Events(允许 Wix 用户管理活动门票和 RSVP)还可以使用Bookings时区主题,并在一个国家/地区更改其时区以实现夏令时自动获取其内存 kv 存储更新。...一个例子是管理基于订阅支付(例如订阅瑜伽课程)Wix 支付订阅服务。对于每个每月或每年订阅用户,必须与支付提供商进行续订过程。...配置重试策略后,Greyhound Consumer 将创建用户定义重试间隔一样多重试主题。...这种重试机制灵感来自这篇uber 文章。 Wix 最近开源了Greyhound,很快就会对 beta 用户开放。要了解更多信息,您可以阅读 github自述文件

    2.2K10

    如何创建一个基于命令行工具跨平台 NuGet 工具包

    一篇介绍写基于 MSBuild Task dll,一篇介绍写任意命令行工具,可以是用于 .NET Framework exe,也可以是基于 .NET Core dll,甚至可以是使用本机工具链编译平台相关各种格式命令行工具...我分为两篇可以减少完成单个任务理解难度: 如何创建一个基于 MSBuild Task 跨平台 NuGet 工具包 如何创建一个基于命令行工具跨平台 NuGet 工具包 第零步:前置条件 第一步...(如果你想了解更多 csproj NuGet 属性,可以阅读我另一篇文章:项目文件已知 NuGet 属性(使用这些属性,创建 NuGet 包就可以不需要 nuspec 文件啦) - 吕毅)...关于这些属性更详细解释,依然可以参见:项目文件已知 NuGet 属性(使用这些属性,创建 NuGet 包就可以不需要 nuspec 文件啦) - 吕毅。...,就不会随便在 csproj 写死常量啦) - 吕毅 项目文件已知 NuGet 属性(使用这些属性,创建 NuGet 包就可以不需要 nuspec 文件啦) - 吕毅 当然,还有一些正在编写,过一段时间可以阅读到

    1K20

    聊聊事件驱动架构模式

    在过去一年里,我一直是数据流团队一员,负责Wix事件驱动消息传递基础设施(基于 Kafka)。有超过 1400 个微服务使用这个基础设施。...Wix Payments Subscriptions 服务就是一个例子,它管理基于订阅支付(例如瑜伽课程订阅)。 对于每个月度或年度订阅用户,必须通过支付提供程序完成续订过程。...为此,Wix定义 Job Scheduler 服务调用由 Payments Subscription 服务预先配置好 REST 端点。 订阅续期过程在后台进行,不需要(人类)用户参与。...Wix 开发人员使用我们自定义Greyhound消费者,因此,他们只需指定一个 BlockingPolicy,并根据需要指定适当重试间隔。...当配置重试策略时,Greyhound 消费者将创建用户定义重试间隔一样多重试主题。

    1.5K30

    WiX 制作安装包:创建一个简单 exe 安装包

    本文开始前,请确保你已经可以生成一个最简单 msi 安装包了: 用 WiX 制作安装包:创建一个简单 msi 安装包 由于 exe 格式安装包自己带了 UI,所以 msi UI 怎么样都是可以不用管...注意,选择模板要注意这些要点: 图标上标记了“wix”,标签上标记了“WiX” 模板简介说明这是在创建“EXE”文件 创建完后,记得去项目属性里改一下输出文件名。...我们需要在这个捆绑包里面安装我们上一篇教程创建 MSI 安装包,所以我们需要引用这个创建 MSI 项目。...前往 EXE 文件输出目录(在项目目录 bin\Debug 下): ▲ 前往 EXE 文件输出目录 双击安装,可以出现默认安装界面: ▲ 默认安装界面 安装完后,可以在系统设置“应用和功能...欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://blog.walterlv.com ),不得用于商业目的,基于本文修改后作品务必以相同许可发布。

    1.1K20

    2022可视化网页生成工具盘点

    还是服务,你告诉它你想要做内容,它就会给你返回最佳模板。...使用Squarespace你可以非常方便地创建页面,可以非常方便地调整样式,字体,颜色,按钮样式,动效,你都可以通过点击进行选择,可以说自定义功能还是很强大。...当使用 Squarespace 创建网站时,你还可以获得免费无限托管、顶级安全性和可靠资源。你还可以通过电子邮件、实时聊天或加入实时网络研讨会获得全天候个性化支持。...码良 一个在线生成h5页面并提供页面管理和页面编辑平台,用于快速制作H5页面。用户无需掌握复杂编程技术,通过简单拖拽、少量配置即可制作精美的页面,可用于营销场景下页面制作。...它主要优点有: 面向不同角色切换工作台,并可以自行拖拽 组件,以及组合组件 实时预览动画编辑 实时预览,并可按帧拖动预览动画编辑 脚本功能,灵活扩展编辑器面板属性(非常容易给组件额外添加自定义属性和方法

    2.9K20
    领券