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

WiX 安装包制作最佳实践:Id、UpgradeCode 应该怎么设置?

关于这两个值的变化: 如果这两个值都没有更改而构建出一个新的 MSI 安装包,那么 Windows Installer 会认为这两个包之间属于“小型更新”(Update)。...双击 msi 文件时,Windows Installer 将弹出错误框: UpgradeCode 对于同一个产品,无论其产品 Id、Version 如何变化,都应该保持 UpgradeCode 不变,...以便 Windows Installer 能准确认为这是同一个产品的“主要升级”(MajorUpgrade)。...Overflow ProductCode 属性 - Win32 apps - Microsoft Docs 本文会经常更新,请阅读原文: https://blog.walterlv.com/post/windows-installer-using-wix-best-practice-product-id-and-upgrade-code.html...,以避免陈旧错误知识的误导,同时有更好的阅读体验。

62980
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    WiX安装选项--注册程序集到GAC和VS的设计时环境

    Visual Studio的设计时引用组件的窗口中看到的程序集的位置和程序集的运行时位置是不一样的,特别是在全局程序集缓存(GAC)中的程序集,通过WiX制作Winodws安装程序的时候需要处理这个区别...VS的设计时的添加引用窗口看到的程序集的位置来自注册表SOFTWARE\Microsoft\.NETFramework\AssemblyFolders – 放在HKEY_LOCAL_MACHINE 下面就是针对所有的用户...WiX要把一个程序注册到GAC,只需要在File 上增加一个选项 Assembly=".net" 就可以了,但是注册到GAC的dll不会放到安装目录下方了,这就需要通过提供两个Component方式来处理...Installer Sample" Comments="This installer database contains the logic and data required to install...Minimal Windows Installer Sample." /> <Property

    69160

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

    注意,选择的模板要注意这些要点: 图标上标记了“wix”,标签上标记了“WiX” 模板简介中说明这是在创建“MSI”文件 引用目标项目 在 WiX MSI 项目(在本教程中,我取的名字为 Walterlv.Installer.Msi...关于这些值的含义,你可以阅读我的另一篇博客: Windows 安装包制作最佳实践:ProductCode、UpgradeCode、PackageCode 应该怎么设置?...前往 MSI 文件的输出目录(在项目目录的 bin\Debug 下): ▲ 前往 MSI 文件的输出目录 安装完后,可以在系统设置“应用和功能”以及“Program Files”目录中找到它:...另外,觉得不错可以提交一下代码,方便后续章节的学习。 附源代码 附上必要的源码,避免你在阅读教程时因模板文件的版本差异造成一些意料之外的问题。...,以避免陈旧错误知识的误导,同时有更好的阅读体验。

    2.1K60

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

    虽然我们前面选择的 C:\Program Files (x86)\WiX Toolset v3.11\bin 看起来是个绝对路径,但实际上在 wixproj 项目里记录的是一个属性引用,因此可以很容易在团队成员之间共享和跨版本迁移...你也可以定义你的团队规范。 Installed 属性表示当前此产品是否已安装。...也就是说新的判断条件的意思是:如果当前产品已安装,或者 .NET Framework 已安装有 4.6.2 或更高版本,则满足安装条件,准许安装,否则弹出错误提示。...下图是我魔改了 DEMO 后在 Windows 11 上的截图(放上来就是为了平衡美感的): 不过为了真实性,我还是找了台 Windows 7 纯净系统来测试: 如果点击“OK”,安装程序将直接退出...,以避免陈旧错误知识的误导,同时有更好的阅读体验。

    1.2K30

    C# Windows桌面应用打包指南

    本文将详细介绍 C# 应用打包的各种方法,包括 ClickOnce、MSI 安装包、Visual Studio Installer Projects、WiX Toolset 和一些第三方工具(如 Inno...使用 MSI 安装包MSI(Microsoft Installer)是 Windows 系统原生的安装包格式,适合更复杂的应用程序。...MSI 包可以通过工具如 Visual Studio Installer Projects 或 WiX Toolset 创建。...结论C# Windows 桌面应用程序的打包有多种选择,从简单易用的 ClickOnce 到高度自定义的 WiX Toolset 和第三方工具,开发者可以根据项目需求选择适合的打包方案。...对于较为简单的应用,可以选择 ClickOnce 或 Visual Studio Installer Projects,而对于复杂的应用程序,可以考虑使用 MSI 安装包或 WiX Toolset 来满足定制化安装的需求

    34832

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

    如果向下滚动到“属性”部分,您可以看到为 Product 元素定义的属性,其中包括必需的属性。因此,可以证明 WiX 示例代码确实提供了 Product 元素需要的所有属性。...请注意,我们可以指定安装程序版本、文件压缩,甚至安装权限(如果面向 Windows Vista)。...InstallPrivileges 枚举 通过此属性指定在 Windows Vista 或更高版本上安装此程序包所需的权限。...这种来自子元素的引用,被称作反向引用,有时也称作feature backlinks。复杂引用和反向引用的处理,可能是链接程序必须实现的最难的工作。...下面我们来自定义一个安装程序。 添加安装的图形界面 WiX的安装界面使用的是命令行模式,我们现在在增加一个图形的安装界面。

    3.7K90

    Wix 安装部署(五) Bootstrapper 捆绑安装

    原文: Wix 安装部署(五) Bootstrapper 捆绑安装 Wix的xml配置确实很费劲,忍不住有点像吐槽一下,前四篇完成的功能在Windows Installer中通过配置能很快的弄出来...在Windows Installer中分别在Redistributables和Registry中设置就行了,特别是注册,可以直接把目录从你自己的电脑上拖过来。...但今天要讲的,就是wix中的Bootstrapper 项目,制作一个捆绑安装程序,也是Windows Installer中没有的。将多个需要安装的文件,按照顺序一次性装完。...我们用RegistrySearch来搜索注册表,切可以制定检测顺序 Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"...这里只做个简单的参照。 很多PC软件都是可以自动检测版本,下载更新,VS自带的ClickOnce也可以运行前自己动检测,发现新版本会去提示下载更新,需要借助一个发布网站就行。

    1.3K20

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

    本文开始前,请确保你已经可以生成一个最简单的 msi 安装包了: 用 WiX 制作安装包:创建一个简单的 msi 安装包 由于 exe 格式的安装包自己带了 UI,所以 msi 中的 UI 怎么样都是可以不用管的...注意,选择的模板要注意这些要点: 图标上标记了“wix”,标签上标记了“WiX” 模板简介中说明这是在创建“EXE”文件 创建完后,记得去项目属性里改一下输出的文件名。...)"/> 注意: 这里的 Walterlv.Installer.Msi 是前一篇教程中引用的项目的名称,你可以改成你自己的生成 MSI 的项目的名称。...编辑基本的安装包信息 与 MSI 包一样,不填写基本的安装信息也会报编译错误: ▲ 缺少厂商信息 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 错误知识的误导,同时有更好的阅读体验。

    1.5K20

    通过 AppSwitch 禁用 WPF 内置的触摸让 WPF 程序可以处理 Windows 触摸消息

    WPF 框架自己实现了一套触摸机制,但同一窗口只能支持一套触摸机制,于是这会禁用系统的触摸消息(WM_TOUCH)。这能够很大程度提升 WPF 程序的触摸响应速度,但是很多时候又会产生一些 Bug。...如果你有需要,可以考虑禁用 WPF 的内置的实时触摸(RealTimeStylus)。本文介绍禁用方法,使用 AppSwitch,而不是网上广为流传的反射方法。...=true 开关,即可关闭 WPF 内置的实时触摸,而改用 Windows 触摸消息(WM_TOUCH)。...WPF Applications - Microsoft Docs WPF 禁用实时触摸 - 林德熙 此方法可以解决的问题一览 拖拽窗口或者调整窗口大小时不能实时跟随的问题 Why all my WPF...本文会经常更新,请阅读原文: https://blog.walterlv.com/post/wpf-disable-stylus-and-touch-support.html ,以避免陈旧错误知识的误导

    33730

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

    然而使用 WiX 的 NuGet 包有额外的好处,可以使得团队成员无需每人单独安装 Wix 工具集即可完整编译安装包。不过这涉及到一些 NuGet 相关的高级操作,我在其他博客里有说到。...为了保证教程依然便于入门,所以我使用单独安装 WiX 工具集的方式来讲解。 如果大家感兴趣使用 NuGet 的方式来完成整个打包项目的构建,替代现在单独安装的方式,我可以单独再写一篇高级教程。 2....虽然官方文档有提到可以设置成 v3.5、v4/Client 之类,但那会增加 WiX 打包项目配置的复杂程度,完成基本的打包需要配置更多(例如编写安装 .NET Framework 3.5 的代码)。...如果发现无法运行,请前往此篇文章调试和解决问题: 使用 WiX 创建最简单的安装包过程中可能出现的问题和解决方案汇总 如果可以正常运行,那么恭喜你,完成了 WiX 安装包入门教程的 Hello World...,以避免陈旧错误知识的误导,同时有更好的阅读体验。

    1.1K20
    领券