Wix学习整理(1)——快速入门HelloWorld

1 Wix简介

Wix是Windows Installer XML的简称,其通过类XML文件格式来指定了用于创建Windows Installer安装包数据库的元素。关于Wix的详细介绍,查看Wix Tutorial

通过http://wix.codeplex.com/,我们下载最新的Wix toolset,并进行安装。

2 1+1=2

动手实践是感受最深的方式。下面我们就通过制作一个简单的HelloWorld安装包来感受一下Wix。

2.1 HelloWorld程序

我们编写一个很简单的C# 的HelloWorld程序。

复制代码
复制代码
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 
 6 namespace HelloInstallerDemo
 7 {
 8     class Program
 9     {
10         static void Main(string[] args)
11         {
12             Console.WriteLine("Hello World!");
13             Console.ReadKey();
14         }
15     }
16 }
复制代码
复制代码

编译该程序,生成可运行程序HelloWorld.exe。

2.2 制作HelloWorld.msi安装包

在HelloWorld.exe所在文件夹中新建一个文件Product.wxs(.wxs是Wix源文件的扩展名),然后打开该文件,填入下面源代码

复制代码
复制代码
 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
 3          <Product Id="*" Name="HelloMSI" Language="1033" Version="1.0.0.0" Manufacturer="LEH" UpgradeCode="1de12ee7-2e94-42ac-979f-06245a0ade30">
 4                    <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
 5                    <Media Id="1" Cabinet="media1.cab" EmbedCab="yes" />
 6 
 7                    <Directory Id="TARGETDIR" Name="SourceDir">
 8                             <Directory Id="ProgramFilesFolder">
 9                                      <Directory Id="INSTALLFOLDER" Name="HelloWorld">
10                                                <Component Id="ProductComponent" Guid="B5F0C012-49D6-4C63-AFCA-0CE6C24C6D7D">
11                                                         <File Id="HelloWorld" Source="HelloWorld.exe" />
12                                                </Component>
13                                      </Directory>
14                             </Directory>
15                    </Directory>
16                
17                    <Feature Id="ProductFeature" Title="HelloWorld" Level="1">
18                             <ComponentRef Id="ProductComponent" />
19                    </Feature>
20          </Product>
21 </Wix>
复制代码
复制代码

保存后,Wix源文件需要经过编译和链接才能够生成所需要的.msi文件,编译命令为candle而链接命令为light,candle.exe和light.exe在安装Wix toolset时安置在目录C:\Program Files\WiX Toolset v3.6\bin下,将该目录添加到系统的环境变量path中,这样我们就可以在任何目录下使用这两个命令(注:修改环境变量path后需要重新系统方能生效)。下面我们进行编译和链接。

 

首先,打开cmd,通过命令cd切换到Wix源文件所在目录(如我的E:\Program\CSharp\HelloWorld\HelloWorld\bin\Debug);接着,通过命令candle编译Product.wxs文件,

 

命令candle编译Wix源文件.wxs生成中间文件.wixobj,然后将命令light作用在.wixobj文件上生成.msi文件,

 

上面light命令中-out选项指定了链接生成的文件名为HelloWorld.msi。下面我们查看目录E:\Program\CSharp\HelloWorld\HelloWorld\bin\Debug,

 

从上图我们可以看到,我们成功的生成了HelloWorld.msi文件。

2.3 验收我们的成果

双击HelloWorld.msi文件,我们可以看到下面的安装界面

 

静等一会,当该界面消失后,表示安装已完成,此时我们的HelloWorld.exe文件安装在目录C:\Program Files\HelloWorld下,

 

双击HelloWorld.exe文件,即可运行之,如图所示,

 

安装后,我们可以右键HelloWorld.msi来卸载。至此,我们已成功实现我们的目标。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值