Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
WiX: A Developer's Guide to Windows Installer XML

You're reading from   WiX: A Developer's Guide to Windows Installer XML If you‚Äôre a developer needing to create installers for Microsoft Windows, then this book is essential. It‚Äôs a step-by-step tutorial that teaches you all you need to know about WiX: the professional way to produce a Windows installer package.

Arrow left icon
Product type Paperback
Published in Oct 2010
Publisher Packt
ISBN-13 9781849513722
Length 348 pages
Edition 1st Edition
Tools
Arrow right icon
Toc

Table of Contents (18) Chapters Close

WiX: A Developer's Guide to Windows Installer XML
Credits
About the Author
About the Reviewer
Preface
1. Getting Started FREE CHAPTER 2. Creating Files and Directories 3. Putting Properties and AppSearch to Work 4. Improving Control with Launch Conditions and Installed States 5. Understanding the Installation Sequence 6. Adding a User Interface 7. Using UI Controls 8. Tapping into Control Events 9. Working from the Command Line 10. Accessing the Windows Registry 11. Controlling Windows Services 12. Localizing Your Installer 13. Upgrading and Patching

Accessing properties in a deferred action


If you try to access a property from a custom action during the Execute sequence's deferred stage, you'll find that you get an error. This is because only a finite number of properties are available here. As a workaround, you can store the value of your properties in another property called CustomActionData and pass that to the custom action.

There are two ways to do this: from your WiX code or from inside another C# custom action. In your WiX markup, you can set a property with a custom action that has a Property attribute that matches the custom action you want to pass the property to.

In the next example, we want to pass the MYPROPERTY property to a custom action called myDeferredCA. So, we create another action called SetProperty that sets a property, also called myDeferredCA, to the value of MYPROPERTY.

<Property Id="MYPROPERTY" Value="my value" />

<CustomAction Id="SetProperty" Property="myDeferredCA" 
Value="[MYPROPERTY]"  />
 ...
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image