Wix升级版本

2023-12-10

我正在尝试做教程“检查老歌”https://www.firegiant.com/wix/tutorial/upgrades-and-modularization/checking-for-oldies/ .

<?xml version='1.0' encoding='Windows-1252'?>
<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>
  <Product Name='Foobar 1.0.1' Manufacturer='Acme Ltd.'
      Id='027F68D8-1963-4C76-8274-7091232BB4F4'
      UpgradeCode='6768C9D3-52DF-4E7E-A8C3-F9CB9F29EA91'
      Language='1033' Codepage='1252' Version='1.0.1' >
    <Package Id='*' Keywords='Installer' Description="Acme's Foobar 1.0.1 Installer"
        Comments='Foobar is a registered trademark of Acme Ltd.' Manufacturer='Acme Ltd.'
        InstallerVersion='100' Languages='1033' Compressed='yes' SummaryCodepage='1252' />

    <UI Id="MyWixUI_Mondo">
      <UIRef Id="WixUI_Mondo" />
      <UIRef Id="WixUI_ErrorProgressText" />

      <DialogRef Id="UserRegistrationDlg" />

      <Publish Dialog="LicenseAgreementDlg" Control="Next" Event="NewDialog" Value="UserRegistrationDlg" Order="3">LicenseAccepted = "1"</Publish>
      <Publish Dialog="SetupTypeDlg" Control="Back" Event="NewDialog" Value="UserRegistrationDlg">1</Publish>
    </UI>

    <Upgrade Id='10A11EA3-8A34-46A1-87D9-679C944E305C'>
      <UpgradeVersion OnlyDetect='yes' Property='SELFFOUND'
          Minimum='1.0.1' IncludeMinimum='yes'
          Maximum='1.0.1' IncludeMaximum='yes' />
      <UpgradeVersion OnlyDetect='yes' Property='NEWERFOUND'
          Minimum='1.0.1' IncludeMinimum='no' />
    </Upgrade>


    <Property Id="INSTALLDIR">
      <RegistrySearch Id='AcmeFoobarRegistry' Type='raw' Root='HKLM' Key='Software\Acme\Foobar 1.0' Name='InstallDir' />
    </Property>
    <Property Id="FILEB1EXISTS">
      <DirectorySearch Id="CheckFileDir" Path="[INSTALLDIR]" Depth="0">
        <FileSearch Id="CheckFile" Name="B1.txt" />
      </DirectorySearch>
    </Property>
    <Property Id="WIXUI_INSTALLDIR" Value="INSTALLFOLDER" />



    <Media Id='1' Cabinet='Sample.cab' EmbedCab='yes' DiskPrompt="CD-ROM #1" />
    <Property Id='DiskPrompt' Value="Acme's Foobar 1.0 Installation [1]" />

    <Directory Id='TARGETDIR' Name='SourceDir'>
      <Directory Id='ProgramFilesFolder' Name='PFiles'>
        <Directory Id='Acme' Name='Acme'>
          <Directory Id='INSTALLFOLDER' Name='Foobar 1.0'>
            <Component Id='MainExecutable' Guid='9805D06F-DF58-4FF5-A9E9-74B11C794D7A'>

              <File Id='FoobarEXE' Name='FoobarAppl10.exe' DiskId='1' Source='FoobarAppl10.exe' KeyPath='yes'>
                <Shortcut Id="startmenuFoobar10" Directory="ProgramMenuDir" Name="Foobar 1.0" WorkingDirectory='INSTALLDIR' Icon="Foobar10.exe" IconIndex="0" Advertise="yes" />
                <Shortcut Id="desktopFoobar10" Directory="DesktopFolder" Name="Foobar 1.0" WorkingDirectory='INSTALLDIR' Icon="Foobar10.exe" IconIndex="0" Advertise="yes" />
              </File>
              <RemoveFile Id='LogFile' On='uninstall' Name='Foobar10User.log' />
            </Component>
            <Component Id='HelperLibrary' Guid='5AE6F8C7-AEC7-43A0-B4D8-1178D7FC7C3A'>
              <File Id='HelperDLL' Name='Helper.dll' DiskId='1' Source='Helper.dll' KeyPath='yes' />
            </Component>

            <Component Id='Manual' Guid='0AC1B698-822E-4B56-8D78-42DDF84D8667'>
              <File Id='Manual' Name='Manual.pdf' DiskId='1' Source='Manual.pdf' KeyPath='yes'>
                <Shortcut Id='startmenuManual' Directory='ProgramMenuDir' Name='Instruction Manual' Advertise='yes' />
              </File>
            </Component>
          </Directory>
        </Directory>
        </Directory>
      <Directory Id="ProgramMenuFolder" Name="Programs">
        <Directory Id="ProgramMenuDir" Name="Foobar 1.0">
          <Component Id="ProgramMenuDir" Guid="B36BF023-6797-476B-BAAD-4AFD5CCE7A9A">
            <RemoveFolder Id='ProgramMenuDir' On='uninstall' />
            <RegistryValue Root='HKCU' Key='Software\[Manufacturer]\[ProductName]' Type='string' Value='' KeyPath='yes' />
          </Component>
        </Directory>
      </Directory>

      <Directory Id="DesktopFolder" Name="Desktop" />
    </Directory>



    <Feature Id='Complete' Level='1'>
      <Feature Id='MainProgram' Level='1'>
        <ComponentRef Id='MainExecutable' />
        <ComponentRef Id='HelperLibrary' />
        <ComponentRef Id='ProgramMenuDir' />
      </Feature>

      <Feature Id='Documentation' Level='1'>
        <ComponentRef Id='Manual' />
        <Condition Level="0">NOT FILEB1EXISTS</Condition>
      </Feature>
    </Feature>

    <Icon Id="Foobar10.exe" SourceFile="FoobarAppl10.exe" />

    <Property Id='NOTEPAD'>Notepad.exe</Property>
    <!--<CustomAction Id='LaunchFile' Property='NOTEPAD' ExeCommand='[SourceDir]Readme.txt' Return='asyncNoWait' />



    <InstallExecuteSequence>
      <Custom Action='LaunchFile' After='InstallFinalize'>NOT Installed</Custom>
      <Custom Action='AlreadyUpdated' After='FindRelatedProducts'>SELFFOUND</Custom>
      <Custom Action='NoDowngrade' After='FindRelatedProducts'>NEWERFOUND</Custom>
    </InstallExecuteSequence>-->
    <CustomAction Id='LaunchFile' Property='NOTEPAD' ExeCommand='[SourceDir]Readme.txt' Return='asyncNoWait' />


    <CustomAction Id='AlreadyUpdated' Error='Foobar 1.0 has already been updated to 1.0.1 or newer.' />
    <CustomAction Id='NoDowngrade' Error='A later version of [ProductName] is already installed.' />

    <InstallExecuteSequence>
      <Custom Action='AlreadyUpdated' After='FindRelatedProducts'>SELFFOUND</Custom>
      <Custom Action='NoDowngrade' After='FindRelatedProducts'>NEWERFOUND</Custom>
    </InstallExecuteSequence>




  </Product>
</Wix>

我的问题是自我发现 and 纽尔方德从未设置为 true,因此我从未达到查看消息的条件已经更新 or 不降级

详细模式下“FindRelatedProduct”的结果: MSI (c) (C0:F8) [08:43:46:624]:执行操作:FindRelatedProducts 操作 08:43:46:查找相关产品。搜索相关应用程序 行动开始 08:43:46:FindRelatedProducts。 操作结束于 08:43:46:FindRelatedProducts。返回值1。

MSI (s) (04:60) [08:43:55:263]:执行操作:FindRelatedProducts 操作 08:43:55:查找相关产品。搜索相关应用程序 行动开始 08:43:55:FindRelatedProducts。 MSI (s) (04:60) [08:43:55:263]:跳过 FindRelatedProducts 操作:已在客户端完成 操作于 08:43:55 结束:FindRelatedProducts。返回值0。 MSI (s) (04:60) [08:43:55:263]:跳过操作:已更新(条件为 false) MSI (s) (04:60) [08:43:55:263]:跳过操作:NoDowngrade(条件为 false)


假设您的 UpgradeCode 指南和版本正确,您可能会跨上下文;每用户安装无法升级(或检测)每计算机安装,反之亦然。如果您使用详细日志进行安装,那么它可能会告诉您 FindRelatedProducts 在您的安装上下文中没有找到它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Wix升级版本 的相关文章

  • WiX 替换对话框

    如何替换一个标准对话框 例如 MaintenanceTypeDlg 我引用了 UIExtension dll 当我将 MaintenanceTypeDlg wxs 添加到我的项目中时 出现有关对话框重复的错误 我可以在不删除引用并添加所有需
  • 作为安装过程的一部分,如何让 WiX 调用 .NET 程序集中的方法?

    我正在迁移一些现有产品以使用 WiX 3 5 我正在使用 Votive VS 集成 我正在安装的一些项目需要向第三方框架注册 要求是我必须在第三方 NET 程序集中调用 Register 方法来通知它我正在安装的项目是否存在 它需要一个 C
  • MSDeploy 是否足够“友好”,或者可以将其封装在 MSI 文件中

    您认为 MSDeploy 包是让最终用户在其系统上安装 Web 应用程序的一个不错的选择吗 与使用 MSI 文件安装 Web 应用程序的体验相比如何 有人尝试过将 MSDeploy 包封装在 MSI 包中吗 会起作用吗 据我描述 MSDep
  • 是否可以使用 WIX 创建多语言安装程序?

    是否可以使用 WIX 创建多语言安装程序 如果您创建嵌入式转换 则无需引导程序即可执行此操作 并且 MSI 安装程序将根据您的系统区域设置自动应用其中之一 有关完整的详细信息和脚本 请点击以下链接 http www geektieguy c
  • Android 12:BLE 扫描未找到任何设备

    我正在尝试将低功耗蓝牙应用程序 连接到自定义物理设备 升级到 Android 12 我已按照文档中的方式设置了所有内容 但它不起作用 权限
  • 从 Django 1.7.1 升级到 1.8.2 失败

    我的 Django 1 7 1 应用程序运行良好 但我想升级到更新的版本 1 8 2 我正在按照说明进行操作here https docs djangoproject com en 1 8 howto upgrade version 基本上
  • 尽管删除了 IIS,但仍然设置了 IISMAJORVERSION 和 IISMINORVERSION

    我正在创建一个依赖于正在安装的 IIS 的安装程序 为了进行测试 我使用运行 Windows Server 2008 R2 的虚拟机 该虚拟机安装了 Web 服务器角色 我的安装程序使用此条件检查是否安装了 IIS
  • WiX:旧版本不会在“添加/删除程序”列表中消失

    我有一个使用 WiX 安装和升级的 Windows 服务 效果很好 非常快 唯一的问题是 如果我从 1 0 升级到 1 1 两个副本在 添加 删除程序 列表中仍然有条目 那么 当我执行更新时 如何确保 WiX 删除 添加 删除程序 列表中旧
  • msiexec 返回负数

    安装 MSI 时 我从 msiexec 收到奇怪的返回代码 即 2147021886 我想我记得在某处读到这是某种格式或编码问题 但我找不到参考 我还发现一个微软页面谈论 PS2 o 存在负返回码问题 但这种情况发生在 PS5 0 中 神奇
  • Wix 自定义操作仅在安装期间执行,但不在升级和删除时执行?

    我有一个自定义操作 该操作只能在安装期间执行 而不能在次要版本升级和删除期间执行 我尝试了不同的条件 但 CA 正在次要版本期间执行 1 未安装 或不 删除 全部 并升级产品代码 2 未安装 3 未安装 或未 已安装并删除 全部 并升级产品
  • 如何使用 wix 将多个元素添加到 XML 配置文件中?

    我正在尝试使用 Wix 编辑 XML 文件 我正在使用与 Wix 3 7 捆绑在一起的 WixUtilExtension xml 文件是在 Visual Studio 2010 中为 C 应用程序创建的设置文件 在此文件中 我使用一个用于在
  • 以提升用户身份在 wix 中运行 CustomAction

    据我所知 WiX 支持两种 CustomActions 延迟 运行此操作的用户 默认情况下 被提升 但它不是运行安装的用户 例如 LocalSystem 或类似的用户 立即 运行此操作的用户 默认情况下 未提升 这是首先运行安装程序的用户
  • WIX 3.9 及更高版本的自定义操作 RegisterComPlus 发生错误

    在 Microsoft 我们长期以来一直使用 WIX 工具集版本 3 5 2519 0 来为我们名为 System Center Service Manager 又名 SCSM 的产品构建安装程序和补丁 最近我们需要更新到 WIX Tool
  • Wix 安装程序 - 根据属性创建文件夹层次结构

    我在用Wix 3 6 http wixtoolset org 创建一个设置 我仍在不断学习 那里的信息仍然分散 我正在等待我的 Wix 开发人员指南书到达 我目前有一个自定义 UI 对话框 用户可以在其中输入一些应用程序配置 该配置的一部分
  • 如何使用自定义操作在 WiX 中运行脚本 - 最简单的示例?

    WiX新手问题 我该怎么办1 将一次性 shell 脚本与安装程序一起复制到 temp e g
  • 如何将OpenERP 5.0升级到6.0

    我安装了 OpenERP 5 0 其中包含一些自定义模块 我希望将其升级到 OpenERP 6 0 我对这种软件有一些经验 并且检查过OpenERP 遗憾的是 我没有 OpenERP 的实际经验 我喜欢寻求一些帮助以避免错误 在研究这个问题
  • 与 WiX 3.0 一起安装 WiX 3.5

    是否可以同时安装 WiX 3 0 和 3 5 如果我在安装 3 0 后安装 3 5 它会删除 3 0 文件 如果我尝试在 3 5 之后安装 3 0 它会告诉我已经安装了较新的版本 我正在从 VS 2008 迁移到 VS 2010 因此我的应
  • 如何创建 heat.exe 收集的文件的快捷方式?

    使用 WiX Toolset 3 10 并尝试创建已使用 WiX Toolset 收获的某些文件的快捷方式heat exe效用 如 WIX bin heat exe dir SourceDir nologo platform x64 ke
  • 根据 VS 活动配置定义 Wix 属性和值

    如何定义根据激活的 Visual Studio 配置而变化的 Wix 属性和值 例如对于我们的发布版本 var x 1 对于导出版本 var x 2 我们使用 wixproj 文件将属性传递到 WiX
  • 自定义 WiX Burn 引导程序用户界面?

    我主要使用 WiX 3 6 创建一个安装包 这样我就可以利用Burn http en wikipedia org wiki WiX Burn引导功能 到目前为止 我已经将多个 MSI 软件包捆绑在一起 这些软件包将与内置引导程序应用程序一起

随机推荐

  • Pandas 过滤具有特定年份的数据帧行

    我有一个数据框df它有一个Date柱子 我想创建两个新的数据框 其中包含来自的所有行df其中年份等于some year和另一个包含所有行的数据框df如果年份不等于some year 我知道你能做到df ix 2000 1 1 2001 1
  • 聚合_id中相同字段错误

    我在 mongodb 中有一个像这样格式的集合 id ObjectId 542d5256372943d9e000fc42 class com bedas ays mongo dto AboneAriza AdSoyad AKIN COBAN
  • 如何在 macOS 中以编程方式安装 mac 中的自定义字体

    我有一个 Mac 应用程序 其中有自定义字体 但我的 Mac 应用程序文件夹的自定义字体书中不存在该字体 因此 当应用程序启动时 我使用以下代码检查 Mac 中是否安装了字体 NSArray fonts NSFontManager shar
  • 如何使 Acumatica 多行 PXGridColumn 显示新行?

    我正在自定义项目报价表单 屏幕 PM304500 上的描述字段 我需要描述字段是多行的 并且它必须保留新行 我已经自定义了字段本身以允许非常长的字符串 并且我已经使用 Multiline true 自定义了相应的 PXGridColumn
  • 解决防伪令牌问题

    我有一个表单帖子始终给我一个防伪令牌错误 这是我的表格 using Html BeginForm Html AntiForgeryToken Html EditorFor m gt m Email Html EditorFor m gt m
  • Python SQLite3 获取原始数据?

    我对这段代码有疑问 cur execute SELECT Balance FROM accounts print cur fetchone 输出 0 而不是我想要的0 任何人都可以帮助修复错误吗 很感谢任何形式的帮助 fetchone 将返
  • 取消跟踪文件并 gitignore 它,但拉取时不要在服务器上删除它

    我创建了一个项目并跟踪配置文件 现在我想将它们从跟踪和存储库中删除 所以我把它们放在 gitignore 中 然后我做了git rm cached与这些文件 我提交了它 但现在如果我拉出这个分支会发生什么 它会在远程删除服务器上的所有这些文
  • 在 Xamarin 中使用 ZeroMQ

    我有一个由服务器和客户端组成的应用程序 服务器是 C C 应用程序 客户端是面向 Windows Android 和 iOS 的跨平台 Xamarin 应用程序 服务器部分和客户端部分使用 ZeroMQ 消息进行通信 我尝试了当前的 C 实
  • 在 TypeScript 中返回新的自身等效项以进行类继承

    我有一个基类Collection它提供了基本的数组功能 此类针对其他特定于领域的用例进行了扩展 当像这样的 破坏 方法filter被调用时 它应该返回一个带有过滤元素的新实例 继续使用类方法而不是仅仅取回数组 在 PHP 中你会使用retu
  • 无法从 Docker 实例连接到 MYSQL

    我是新来的Docker并拉了mysql来自码头枢纽使用以下命令 docker pull mysql 现在 开始了mysql使用以下命令实例 docker run name mysql p 3306 3306 e MYSQL ROOT PAS
  • Java中如何将函数作为参数传递? [复制]

    这个问题在这里已经有答案了 在 Java 中 如何将一个函数作为参数传递给另一个函数 Java 8 及以上版本 使用 Java 8 lambda 表达式 如果您有一个仅包含单个抽象方法 有时称为抽象方法 的类或接口SAM type 例如 p
  • 在 Heroku 上强制执行文件上传大小?

    在 Heroku 上有一个 Rails 应用程序 如果可能的话 我想限制文件上传的大小 文件被作为 StringIO 对象处理 因此文件内容将在内存中处理 无需将中间文件写入文件系统 通常 我会限制网络服务器上的上传大小 但是对于 Hero
  • 点击下载图片

    单击图片时如何实际下载图片 有某种 JavaScript 代码可以做到这一点吗 下面是我如何用纯 HTML 显示图像 a href img src myPic png border 0 a 假设 下载 的意思是 导致用户的浏览器弹出 保存或
  • 在 Visual C++ 中根据文件内容设置预处理器定义

    我的项目中有一个文件 其中包含项目版本号 我必须将此文件的内容用作我的代码中的预处理器定义 我需要的是以某种方式将文件中的值作为 D 参数传递给编译器 我尝试添加预处理器定义 VERSION Version 并在预构建步骤中设置版本环境变量
  • 数据压缩如何比索引更有效地提高搜索性能?

    对于我们的应用程序 我们保留由三个整数列 源 类型和时间 索引的大量数据 加载大量数据可能需要一些时间 我们已经实施了各种措施来减少大型查询必须搜索和加载的数据量 例如为不需要高分辨率的查询存储更大的粒度 时间 明智的 当在我们的备份存档中
  • Ajax get/posts 后 IE 不刷新

    我有一个小问题 我不知道如何处理 我写了一些 jQuery post gets 它们在 FF Opera 和 Chrome 中运行良好 但是 当从资源管理器 任何版本 运行时 请求中的更新内容不会加载到浏览器中 我使用了开发人员工具并调试了
  • sed 使用正则表达式

    所以基本上我有一个包含 1500 个名字的原始列表 每个名字都有一个 4 位数字 我有另一个文件 其中包含这 1500 个姓名中的 200 个姓名以及与其关联的新 4 位数字 我需要用这个新号码替换旧号码 我有一个文件original tx
  • 在 theano 中优化卷积时收到断言错误

    我正在尝试运行这段代码 x set np random rand 100 100 100 x T dtensor3 x inp x reshape 100 1 100 100 W stdDev np sqrt 2 3 3 2 W thean
  • 谷歌项目托管svn提交问题

    当我尝试使用 svn commit 提交代码时 它返回一个错误 svn 提交失败 详细信息如下 svn 服务器发送了意外的返回值 405方法不允许 响应 MKACTIVITY 请求 svn svn act acf5cd6f e8d7 476
  • Wix升级版本

    我正在尝试做教程 检查老歌 https www firegiant com wix tutorial upgrades and modularization checking for oldies