Wix ToolSet 初体验

Wix ToolSet Version: 3.11.2

Visual Studio: 2015

1. 创建1个WPF项目, 项目名称Practice1

 

 

 2. 创建Wix Toolset项目,项目名称Setup1

 

 

 

 

3. 引用"Practice1"项目到"Setup1"中

官方文档的步骤如下

To add a project reference to a WiX project:

  1. Right-click on the References node of the project in the Solution Explorer and choose Add Reference....
  2. In the Add Reference dialog, click on the Projects tab.
  3. Select the desired project(s) and click the Add button, and then press OK to dismiss the dialog. 

 

 

 

 

 

4. 添加项目到组件中 

 

 

 

5. Output 

右键Setup1, Build, 会生成Setup1.msi的安装包

 

安装包安装, 会在c盘program file下生成一个执行程序. 

 

这边安装的路径由下面的片段决定

 

 

6. ComponentGroup-> Component-> File的说明: 

Supported Project Reference Variables

Once a project reference is added, a list of project variables becomes avaliable to be referenced in the WiX source code. Project reference variables are useful when you do not want to have hard-coded values. For example, the $(var.MyProject.ProjectName) variable will query the correct project name at build time even if I change the name of the referenced project after the reference is added.

The following demonstrates how to use project reference variables in WiX source code:

<File Id="MyExecutable" Name="$(var.MyProject.TargetFileName)" Source="$(var.MyProject.)" DiskId="1" />

The WiX project supports the following project reference variables:

Variable name

Example usage

Example value

var.ProjectName.Configuration

$(var.MyProject.Configuration)

Debug or Release

var.ProjectName.FullConfiguration

$(var.MyProject.FullConfiguration)

Debug|AnyCPU

var.ProjectName.Platform

$(var.MyProject.Platform)

AnyCPU, Win32, x64 or ia64

var.ProjectName.ProjectDir

$(var.MyProject.ProjectDir)

C:\users\myusername\Documents\Visual Studio 2010\Projects\MyProject\

var.ProjectName.ProjectExt

$(var.MyProject.ProjectExt)

.csproj

var.ProjectName.ProjectFileName

$(var.MyProject.ProjectFileName)

MyProject.csproj

var.ProjectName.ProjectName

$(var.MyProject.ProjectName)

MyProject

var.ProjectName.ProjectPath

$(var.MyProject.ProjectPath)

C:\users\myusername\Documents\Visual Studio 2010\Projects\MyProject\MyApp.csproj

var.ProjectName.TargetDir

$(var.MyProject.TargetDir)

C:\users\myusername\Documents\Visual Studio 2010\Projects\MyProject\bin\Debug\

var.ProjectName.TargetExt

$(var.MyProject.TargetExt)

.exe

var.ProjectName.TargetFileName

$(var.MyProject.TargetFileName)

MyProject.exe

var.ProjectName.TargetName

$(var.MyProject.TargetName)

MyProject

var.ProjectName.TargetPath

$(var.MyProject.TargetPath)

C:\users\myusername\Documents\Visual Studio 2010\Projects\MyProject\bin\Debug\MyProject.exe

var.ProjectName.Culture.TargetPath

$(var.MyProject.en-US.TargetPath)

C:\users\myusername\Documents\Visual Studio 2010\Projects\MyProject\bin\Debug\en-US\MyProject.msm

var.SolutionDir

$(var.SolutionDir)

C:\users\myusername\Documents\Visual Studio 2010\Projects\MySolution\

var.SolutionExt

$(var.SolutionExt)

.sln

var.SolutionFileName

$(var.SolutionFileName)

MySolution.sln

var.SolutionName

$(var.SolutionName)

MySolution

var.SolutionPath

$(var.SolutionPath)

C:\users\myusername\Documents\Visual Studio 2010\Projects\MySolution\MySolution.sln

Note: var.ProjectName.Culture.TargetPath is only available for projects that have multiple localized outputs (e.g. MSMs).

 

 

 

 

 

posted @ 2020-05-07 11:12  stanshi  阅读(848)  评论(1编辑  收藏  举报