万本电子书0元读

万本电子书0元读

顶部广告

WiX 3.6: A Developer’s Guide to Windows Installer XML电子书

售       价:¥

10人正在读 | 0人评论 6.2

作       者:Nick Ramirez

出  版  社:Packt Publishing

出版时间:2012-12-17

字       数:423.7万

所属分类: 进口书 > 外文原版书 > 电脑/网络

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
A step-by-step tutorial with plenty of code and examples to improve your learning curve. If you are a developer and want to create installers for software targeting the Windows platform, then this book is for you. You’ll be using plenty of XML and ought to know the basics of writing a well-formed document. No prior experience in WiX or Windows Installer is assumed. You should know your way around Visual Studio to compile projects, add project references and tweak project properties.
目录展开

WiX 3.6: A Developer's Guide to Windows Installer XML

Table of Contents

WiX 3.6: A Developer's Guide to Windows Installer XML

Credits

About the Author

About the Reviewers

www.PacktPub.com

Support files, eBooks, discount offers and more

Why Subscribe?

Free Access for Packt account holders

Preface

What this book covers

What you need for this book

Who this book is for

Conventions

Reader feedback

Customer support

Downloading the example code

Errata

Piracy

Questions

1. Getting Started

Introducing Windows Installer XML

What is WiX?

Is WiX for you?

Where can I get it?

Visual Studio package (Votive)

A word about GUIDs

Your first WiX project

XML declaration and Wix element

The Product element

The Package element

The MediaTemplate element

The Media element

The Directory element

The Component element

The File element

The Feature element

Start menu shortcuts

Putting it all together

Adding a user interface

Viewing the MSI database

Orca.exe

Turning logging on during installation

Other resources

Summary

2. Creating Files and Directories

The File element

The DirectoryRef element

The ComponentGroup element

The Fragment element

Harvesting files with heat.exe

Copying and moving files

Copying files you install

Copying existing files

Moving existing files

Installing special-case files

Adding assembly files to the GAC

Installing a TrueType font

Installing 64-bit files

Creating an empty folder

Setting file permissions

Speeding up file installations

Summary

3. Putting Properties and AppSearch to Work

Custom properties

Declaring and setting properties

Referencing properties

Property visibility and scope

Secure properties

Property data types

Predefined Windows Installer properties

Implied properties

Cited properties

AppSearch

DirectorySearch

FileSearch

ComponentSearch

RegistrySearch

IniFileSearch

Summary

4. Improving Control with Launch Conditions and Installed States

The syntax of conditions

Condition syntax

Launch conditions

Feature conditions

Component conditions

Action state

Installed state

Summary

5. Understanding the Installation Sequence

InstallUISequence

UI standard actions

FindRelatedProducts

AppSearch

LaunchConditions

ValidateProductID

CostInitialize

FileCost

CostFinalize

MigrateFeatureStates

ExecuteAction

InstallExecuteSequence

Execute standard actions

InstallValidate

InstallInitialize

ProcessComponents

UnpublishFeatures

RemoveRegistryValues

RemoveShortcuts

RemoveFiles

InstallFiles

CreateShortcuts

WriteRegistryValues

RegisterUser

RegisterProduct

PublishFeatures

PublishProduct

InstallFinalize

Immediate versus deferred

Custom actions

Setting a Windows Installer property

Setting the location of an installed directory

Running embedded VBScript or JScript

Calling an external VBScript or JScript file

Calling a function from a dynamic-link library

Triggering an executable

Sending an error that stops the installation

Rollback custom actions

Accessing properties in a deferred action

Adding conditions to custom actions

Deployment Tools Foundation

The session object

Getting and setting properties

Logging

Showing a message box

Accessing feature and component states

Querying the MSI database

Inserting rows into the MSI database

Summary

6. Adding a User Interface

WiX standard dialog sets

WixUI_Advanced

WixUI_FeatureTree

WixUI_InstallDir

WixUI_Mondo

Customizing a standard dialog set

Creating your own dialogs

ICE20 errors

Adding dialog files

The Dialog element

Scheduling dialogs

Adding TextStyle elements

Adding a tabbable control

Adding a progress dialog

Modal windows

ICE20 revisited

FilesInUse

Error

FatalError

UserExit

Exit

Summary

7. Using UI Controls

Attributes common to all controls

Specific control syntax

PushButton

Text

ScrollableText

Line

GroupBox

Bitmap

Icon

Edit

MaskedEdit

PathEdit

CheckBox

RadioButtonGroup

ComboBox

ListBox

ListView

DirectoryList

DirectoryCombo

SelectionTree

VolumeCostList

VolumeSelectCombo

Billboard

ProgressBar

Summary

8. Tapping into Control Events

Publishing control events

Subscribing to control events

Publish events

DoAction

EndDialog

NewDialog

AddLocal

Publishing a property

Subscribe events

ScriptInProgress

SelectionAction

TimeRemaining

Summary

9. Working from the Command Line

Candle.exe

Response files

.wixobj files

Command-line arguments (compiling)

-arch

-d

-ext

-fips

-I

-nologo

-o

-p

-pedantic

-sfdvital

-ss

-sw

-trace

-v

-wx

Compile-time variables

Custom compiler variables

Environment variables

System variables

Conditional statements and iterations

if...elseif...else

ifdef

ifndef

Iterations

Errors and warnings

Preprocessor extensions

Light.exe

Command-line arguments (linking)

-b

-bf

-binder

-cultures

-d

-dut

-ext

-loc

-nologo

-notidy

-o[ut]

-pedantic

-sadmin

-sadv

-sloc

-sma

-ss

-sts

-sui

-sv

-sw[N]

-usf <output.xml>

-v

-wx[N]

-xo

Command-line arguments (binding)

-bcgg

-cc <path>

-ct <N>

-cub <file.cub>

-dcl:level

-eav

-fv

-ice <ICE>

-pdbout <output.wixpdb>

-reusecab

-sa

-sacl

-sf

-sh

-sice: <ICE>

-sl

-spdb

-sval

Link-time variables

Localization variables

Binder variables

Custom linker variables

Building an installer without Visual Studio

Summary

10. Accessing the Windows Registry

Reading from the registry

Writing to the registry

Writing a single value

Writing multiple values

Setting NeverOverwrite

Removing registry values

Remove all keys recursively

Removing a single value

Copying registry values

Registry permissions

Summary

11. Controlling Windows Services

Creating a simple Windows service

Using sc.exe

Using WiX to install a service

Starting, stopping, and uninstalling a service

Setting the service's user account

Adding service dependencies

Service recovery with Util:ServiceConfig

Summary

12. Localizing Your Installer

WiX localization files

The role of Light.exe

Setting language and code page attributes

The Package element

The Product element

Localizing the UI

Error messages

Progress bar messages

EULA

Resizing controls

Creating a multi-language MSI

Summary

13. Upgrading and Patching

Planning for updates

Choosing an update type

Per-user or per-machine

Preparing a major upgrade

The minor upgrade

Authoring a .wixmsp file

Creating a patch from .wixpdb files

Creating a patch from .wixout files

The small update

Summary

14. Extending WiX

Building a custom WiX extension

Setting the stage

Extending the CompilerExtension class

Adding an XML schema

Parsing custom elements

Creating a new MSI table

Extending the WixExtension class

Using the extension in a WiX project

Tying a custom action to the custom element

Summary

15. Bootstrapping Prerequisites with Burn

Using the Bootstrapper Project template

Describing the Bundle element

Restricting the install by the operating system

UpgradeCode and detecting related bundles

Updating existing bundles

Finding other related bundles

Where the packages are cached

Chaining packages

The Chain element

The MsiPackage element

The ExePackage element

The MspPackage element

The MsuPackage element

Downloading packages

Counting package references

Rollback boundaries

PackageGroups

The Standard Bootstrapper UI

The RtfLicense user interface

The HyperlinkLicense user interface

Summary

16. Customizing the Burn UI

Burn extension points

Creating the class library

Extending the BootstrapperApplication class

Defining the model

Implementing the viewmodel

Declaring the properties and fields

Defining the constructor

Setting up the event handlers

Helper methods

Marking up the view

Referencing the UI in a Burn bundle

Passing user input to a bundled MSI

Displaying progress

Downloading packages

Collecting command-line arguments

Summary

Index

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部