@Day19 | C# WixToolset + WPF 帅到不行的安装包 [Bootstrapper-基础介绍]

前几天

的分享,都是为了搞懂WixToolset里面基本功能,
接下来是我们要介接WPF的"中介功能",
WixToolset的 Bootstrapper
虽然他不只是中介而已XD,

我们新增一个Bootstrapper专案 "DemoUse.Bootstrapper"

我们打开唯一的Bundle.wxs档看一下

内容很像我们在安装包里面的Product.wxs
但里面要丢的东西是指我们打包好的安装档,
当然Todo的意思是就是其他.msi档也可以一起放入,
也就是安装集合工具的意思!

先将我们的安装档给参考进去

然後我们加入这段在Chain标签内

  <MsiPackage Id="DemoInstaller"
  SourceFile="$(var.DemoUse.Installer.TargetDir)DemoUse.Installer.msi" 
                  Compressed="yes" DisplayInternalUI="yes" Visible="yes" />

DisplayInternalUI这个看就知道是说要不要显示UI介面,之後我们要改成WPF的情况下,就要改成no
而上面的Manufacturer也要记得填写,不然会出错!
就像这样↓↓↓

都设定好了以後,这次我们用Bootstrapper专案建置的来看结果。

他会先显示Bootstrapper 的页面

打勾同意後会跳出我们Demo的安装包

我们安装到底了以後去新增移除程序看一下

若直接移除Bootstrapper的情况下,
底下的DemoUse.Installer也会一并移除,

但这个在我只把它当作WPF的中介工具时感觉并不是那麽美好,
毕竟我目前也只有一个安装程序,
出现两个就会有一种多此一举的感觉

所以我们在Bundle後面加上两个参数

DisableModify="yes" DisableRemove="yes"

再次安装後,就只剩下我们目前的安装程序了!



  • 後记

在安装时若没有隐藏掉Bootstrapper,
安装後,如果用菜单的移除按钮,
是只有Installer的程序被移除掉唷!

那如果你有多个msi档,然後想做一键移除所有的安装包,
就必须要额外将Bootstrapper移除的功能加进菜单,
恩~我想内建应该也会有这个功能...
只是我没用到XD所以我没研究了,哈哈!

Day19程序码
https://github.com/Aslan7826/defaultMVC/commits/Day19


<<:  Day 13: 人工神经网路初探 激活函数(上)

>>:  [D04] 取样与量化(2)

[区块链&DAPP介绍 Day9] Solidity 教学 - control flow

本日来介绍一下 solidity 的控制流程。 学任何语言基本上都需要条件判断式,那就稍微简单介绍一...

【Day1】资料结构 + 演算法

程序设计中资料结构与演算法是非常重要的两大项目,彼此之间都会影响程序的运作。 资料结构 电脑在储存资...

#13 JS: Intro to Data, Variables, Operators

Data: Number, String, Boolean Number: e.g. 7, 17 S...

Day.1 前言

今年是第二次参加,这次一样努力以不断赛为目标 不知不觉默默已经工作好一阵子了,从一开始觉得演算法好像...

DAY16-EXCEL统计分析:Z检定实例

有一家3C公司说自家品牌的手机均可以使用超过5年,而标准差为1.5年。今天有一研究家想研究该公司的手...