售 价:¥
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
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
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜