相关疑难解决方法(0)

WiX技巧和提示

我们现在已经使用WiX一段时间了,尽管人们普遍抱怨易用性,但它还是相当不错.我正在寻找的是有用的建议:

  • 设置WiX项目(布局,参考,文件模式)
  • 将WiX集成到解决方案和构建/发布流程中
  • 为新安装和升级配置安装程序
  • 任何好的WiX黑客你都想分享

wix wix3 wix3.5

264
推荐指数
23
解决办法
21万
查看次数

使用WiX创建桌面快捷方式

所以我在Wix中有这个安装项目,并希望在桌面上有一个快捷方式.这可能很容易让你想到.但事实并非如此.在因特网上找到的所有代码片段都不起作用.经过几个小时的挣扎和阅读文档后,我终于做对了,所以我在这里与大家分享.

installer windows-installer wix shortcut

61
推荐指数
5
解决办法
4万
查看次数

WIX自动生成GUID*?

假设我生成了我的WIX XML文件,其产品ID为*.另外,对于每个组件GUID,我使用*.

  <Product Id="*" Name="xxx" Language="1033" Version="1.0.0.0" Manufacturer="xxx" UpgradeCode="xxx">
Run Code Online (Sandbox Code Playgroud)

幕后是每次编译我的WIX安装程序时*旋转一个唯一的GUID?假设我的1.0.0版安装了一台机器.然后我将我的WIX安装程序重新编译为1.0.1版.

当我去安装1.0.1时,WIX如何知道已经安装了1.0.0,因此将删除所有文件/注册表项并安装1.0.1?

我应该使用GUID中的*还是我的WIX XML配置中应该有唯一的ID/GUID?

c# guid wix

28
推荐指数
2
解决办法
2万
查看次数

在wix中更改我的组件GUID?

我应该何时更改或不更改WIX中的组件GUID? Microsoft SDK信息令人困惑.

Glytzhkof编辑:为了澄清,该问题涉及何时应该为MSI组件更改组件GUID.组件可以通过以下方面进行更改:更改目标路径,向/从同一组件添加或删除文件,添加注册表数据等...这会导致所谓的组件引用问题,即最佳实践在MSI中创建组件.

windows-installer wix wix3

26
推荐指数
2
解决办法
2万
查看次数

MSI vs nuget包:哪个更适合持续交付?

我们来讨论以下主题.目前正在部署的应用程序有很好的知道xcopy方法.这种方法很难管理依赖项,文件更新等.有一些软件包的帮助下启动应用程序部署的想法,你知道你在Linux的帮助下RPM,但适用于Windows.

所以我有疑问:在Windows经典Windows安装程序(msi)或nuget或其他东西上使用什么包系统更好?

.net windows-installer wix continuous-deployment nuget

12
推荐指数
1
解决办法
2万
查看次数

Wix安装程序不会覆盖以前版本的可执行文件

我有一个非常简单的安装程序 - 将一个DLL复制到Program Files子文件夹并使用regsvr32.exe注册它.效果很好,但是如果安装了旧版本的dll,"修复"不会覆盖现有的dll.dll已签名,其版本(构建)编号始终递增(例如2.0.0.123 - > 2.0.0.124).

查看以前的类似帖子,我添加了RemoveExistingProducts并将ProductId指定为"*".卸载然后安装新版本工作正常,但我真的需要修复来更新现有的dll.

还有什么我需要做的吗?

谢谢!

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">

  <!--
When creating a new install for the next version, these fields must be modified
-->
  <?define ProductVersion = "2.0.00" ?>

  <?define ProductId64 = "*" ?>
  <?define ProductId32 = "*" ?>

  <?define PackageId   = "45F34788-66AC-441C-B666-707FFA7F1EE9" ?>


  <!-- Product name as you want it to appear in Add/Remove Programs-->
  <?if $(var.Platform) = x64 ?>
  <?define ProductName = "XYZ (64 bit)" ?>
  <?define Win64 = "yes" …
Run Code Online (Sandbox Code Playgroud)

windows-installer wix

11
推荐指数
2
解决办法
3883
查看次数

使用 Qt 安装程序框架创建 .msi 安装程序

我一直在研究 Qt 安装程序框架,但是当您使用此工具创建设置时,它是一个常规设置,尽管我想知道是否可以创建一个 msi 设置以便能够在网络范围内安装 Qt 程序。

我已经查看了安装程序框架文档,但到目前为止找不到任何关于此的信息。

c++ qt windows-installer qt-installer

2
推荐指数
1
解决办法
1485
查看次数

WiX安装程序MSI未安装使用Visual Studio 2017创建的Winform应用

为了进行简单的测试,我Wix为一个简单的Winform应用程序创建了一个安装程序应用程序,如下所示。但是,当我msi使用安装程序运行创建的文件时,它只运行一秒钟,然后退出而未安装Winform应用程序。问题:这里可能是什么问题?我的Product.wxs文件似乎丢失了一些东西。注意:我正在使用VS2017

产生问题的步骤

  1. Wix Toolset Visual Studio 2017 Extension这里安装,并按照他们的指示WiX 3.11 RC2这里安装
  2. 创建一个默认值Winform project[仅添加一个表单,不添加任何内容]
  3. 在同一解决方案中Wix Setup project使用Toolset\v3\Setup Project模板创建了一个
  4. 在WiX安装项目中添加了对Winform项目的引用
  5. 构建了整个解决方案。
  6. 右键单击安装项目,然后重新构建它,.msi在其\..bin\Debug文件夹中创建一个文件
  7. 双击.msi步骤6中的文件。文件运行一秒钟,出现Windows 10安装对话框(对于任何询问您是否要安装此程序的安装,该对话框都会出现)。我点击了Yes。安装程序再次运行一秒钟,然后退出。但是未安装Winform应用程序。

默认的Product.wxs文件 [除了在Manufacturer属性中添加值外,我没有在此处添加任何内容]

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
    <Product Id="*" Name="SetupProject1" Language="1033" Version="1.0.0.0" Manufacturer="WiX_test_4_Winfrm" UpgradeCode="e69fe67b-5c28-4764-8196-a6613b840eff">
        <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />

        <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] …
Run Code Online (Sandbox Code Playgroud)

c# windows-installer wix winforms visual-studio-2017

1
推荐指数
1
解决办法
2464
查看次数