Introducing Windows Installer

Total Page:16

File Type:pdf, Size:1020Kb

Introducing Windows Installer www.it-ebooks.info WiX 3.6: A Developer's Guide to Windows Installer XML An in-and-out, to-the-point introduction to Windows Installer XML Nick Ramirez BIRMINGHAM - MUMBAI www.it-ebooks.info WiX 3.6: A Developer's Guide to Windows Installer XML Copyright © 2012 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. First published: October 2010 Second edition: December 2012 Production Reference: 1051212 Published by Packt Publishing Ltd. Livery Place 35 Livery Street Birmingham B3 2PB, UK. ISBN 978-1-78216-042-7 www.packtpub.com Cover Image by Abhishek Pandey ([email protected]) www.it-ebooks.info Credits Author Project Coordinator Nick Ramirez Arshad Sopariwala Reviewers Proofreader Neil Sleightholm Maria Gould Martin Oberhammer Paul Michniewicz Indexer Rekha Nair Roel van Bueren ENG. Nir Bar Production Coordinator Arvindkumar Gupta Acquisition Editor Usha Iyer Cover Work Arvindkumar Gupta Lead Technical Editor Dayan Hyames Technical Editor Jalasha D'costa www.it-ebooks.info About the Author Nick Ramirez is a software developer living in Columbus, Ohio. As a believer that deployment shouldn't be a moment of terror, he has become a big fan of technologies such as WiX. Other related interests include build automation, software architecture, and playing Portal 2. Nick lives with his wife and two cats. I would like to thank the hard-working folks at Packt Publishing. Their organization and planning make all the difference! I would also like to thank the dedicated people of the WiX community, who tirelessly volunteer their time to answer questions. Finally, I would like to thank the developers who contribute source code to the WiX project. Their expertise and commitment have gone towards making the best Windows deployment tool on the market. www.it-ebooks.info About the Reviewers Neil Sleightholm is an IT consultant working in the UK. He has an engineering background with experience in software development, application architecture, electronics development, and mechanical engineering. His current focus is on configuration management, build automation, installation development, and deployment. Neil has worked with most of the Microsoft platform technologies and has programmed in C, C++, C#, Visual Basic, .NET, SQL, ASP.NET, and ASP. In the build and source control field he has experience with NAnt, MSBuild, TeamBuild, Subversion (SVN), TFS, VSS, Mercurial, and CVS. He has written installation systems using Windows Installer, Windows Installer XML (WiX), Windows Installer Custom Actions (using DTF), dotNetInstaller, InnoSetup, and Wise Installation System. Neil has worked with open source projects and has been a contributor to Windows Installer XML (WiX), dotNetInstaller, and the AlienBBC plugin for Logitech Squeezebox. In his spare time he is a petrol head and keen motorcyclist. If you want to know more about him, you can check out his LinkedIn profile at: http://www.linkedin.com/in/neilsleightholm. Martin Oberhammer currently works as a Software Engineer at Sophos in Vancouver, BC. He studied computer science at the Johannes Kepler University in Linz, Austria, where he graduated in 2002. His first job in software deployment was at Utimaco Safeguard AG. In 2008, he moved to the USA and then to Canada, where he now resides. Nick and Martin where at one point colleagues and created a software installer using WiX technology. www.it-ebooks.info Paul Michniewicz is a software developer and educational consultant with diverse experiences in academia, government, and industry. As a developer, Paul has spent more than 12 years in software development and testing. Much of that time was spent in configuration management where he has managed source control systems, developed build and test automation strategies, and authored several installers in the enterprise space for companies such as JetForm and Adobe. As an educational consultant, Paul has developed and delivered introductory Java courses to professionals and students. He currently runs a tutoring business where he teaches mathematics, physical sciences, and software development to students of all ages. Paul has a special interest in working with students who have developmental needs. Paul lives in Ottawa, Canada with his wife Anne and two children Zygmunt and Moira. He is currently a stay-at-home dad and homeschools his son. To know more about Paul, you can check out his LinkedIn profile atca.linkedin.com/in/ pmichnie. Roel van Bueren works as senior consultant, trainer, and developer for ROVABU NetWorks BV and ROVABU Software BV. Roel is specialized in Software Packaging using Windows Installer and Flexera AdminStudio, Application and Desktop Management by using Microsoft System Center Configuration Manager and Novell ZENworks Configuration Management, Desktop Deployment of Microsoft Windows XP, Windows 7, and Windows 8 by using Microsoft SCCM/MDT, Novell ZENworks Configuration Management, ENGL Imaging Toolkit, and also Microsoft .NET/C# development and application virtualization. His latest projects involve "Bundle Commander" for Novell ZENworks Configuration Management and "Setup Commander" for Microsoft System Center Configuration Manager 2012, Microsoft Deployment Toolkit, and other deployment solutions such as Dell KACE and RES Automation Manager, for which customized transform files are needed to deploy MSI packages or silent switches to deploy legacy setups. www.it-ebooks.info ENG. Nir Bar is a computer engineer, and graduate of Technion – Israel Institute of Technology. Nir Bar has over 13 years experience in software and hardware development. He has worked with RAFAEL – Advanced Defense Systems, Marvell Technology Group, Agilent Technologies, Applied Materials, McKesson, and other leading high tech companies. He has worked in the Microsoft platform technologies and has programmed in C, C++, C# .NET, and SQL Server. In the Linux platform, Nir Bar has programmed in C, C++, and PERL. He is also experienced in pre-Silicon verification methodologies and tools. Currently, Nir is an independent software consultant, developer, and tutor. He consults and develops software products from the idea stage through analysis, design, development stages, and to ready-to-market products. Nir Bar tutors Windows Installer technology to Israeli software companies. To contact Nir Bar you can drop an e-mail to: [email protected]. To my wife Sarit and to my sons Itay and Yehonathan for their love, support, and encouragement. www.it-ebooks.info www.PacktPub.com Support files, eBooks, discount offers and more You might want to visit www.PacktPub.com for support files and downloads related to your book. Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.PacktPub. com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at [email protected] for more details. At www.PacktPub.com, you can also read a collection of free technical articles, sign up for a range of free newsletters and receive exclusive discounts and offers on Packt books and eBooks. http://PacktLib.PacktPub.com Do you need instant solutions to your IT questions? PacktLib is Packt's online digital book library. Here, you can access, read and search across Packt's entire library of books. Why Subscribe? • Fully searchable across every book published by Packt • Copy and paste, print and bookmark content • On demand and accessible via web browser Free Access for Packt account holders If you have an account with Packt at www.PacktPub.com, you can use this to access PacktLib today and view nine entirely free books. Simply use your login credentials for immediate access. www.it-ebooks.info www.it-ebooks.info www.it-ebooks.info To my wife, Heidi, for her patience while I disappeared into research and writing. www.it-ebooks.info www.it-ebooks.info Table of Contents Preface 1 Chapter 1: Getting Started 7 Introducing Windows Installer XML 8 What is WiX? 8 Is WiX for you? 9 Where can I get it? 10 Visual Studio package (Votive) 13 A word about GUIDs 16 Your first WiX project 16 XML declaration and Wix element 17 The Product element 18 The Package element 20 The MediaTemplate element 21 The Media element 22 The Directory element 23 The Component element 27 The File element 29 The Feature element 30 Start menu shortcuts 33 Putting it all together 37 Adding a user interface 40 Viewing the MSI database 41 Orca.exe 41 Turning logging on during installation 42 Other resources 43 Summary 43 www.it-ebooks.info Table of Contents Chapter 2: Creating Files and Directories 45 The File element 45 The DirectoryRef element 48 The ComponentGroup element
Recommended publications
  • PETER STEPHENS Current Technical Pursuits: Agile Practices, Cloud
    PETER STEPHENS 512.778.6322 / cell 865.567.7173 1955 County Road 202 www.diligentsoftware.com/resume Liberty Hill, TX 78642 [email protected] Current Technical Pursuits: Agile Practices, Cloud Computing and Amazon Web Services, Cloud Automation, ASP.NET MVC, REST based web services, JavaScript and jQuery CURRENT SKILLS • Microsoft.NET Framework versions 1.0 – 4.5 » C#, LINQ, XML , Networking, Regular Expressions, Multithreading , Task Parallel Library, Encryption, etc. » Websites: ASP.NET WebForms and MVC » Thick Client: Windows Presentation Foundation (WPF) » Web Services: WCF, Web API (REST and RPC) , and OData • Cloud Computing » Amazon Web Services : EC2 , S3 , RDS , SQS, SNS, Cloud Formation, Route 53, etc. » Rackspace Cloud • Automation : Powershell, MSBuild, and T4 templating • Agile Practices : Continuous Integration with Team City and CruiseControl.NET, Test Driven Development (TDD ), NUnit, Rhino Mocks, MOQ, Autofac, and ReSharper • Microsoft SQL Server versions 7 – 2008. Extensive use of T-SQL , C# stored procedures, C# functions, management and database optimization • HTML , CSS , JavaScript , jQuery , HTTP, Web Design, SEO , and Microsoft Expression Studio, Report Viewer Control based RDLC reports • Domain Specific Languages: Irony • Deployment: WIX , InstallShield, and WebDeploy • Source Control : Git and Mercurial, Beyond Compare, KDIFF OPEN SOURCE AND SOCIAL • Stack Overflow: http://stackoverflow.com/users/72860/peter-stephens • Twitter: https://twitter.com/#!/peterastephens • Bitbucket: https://bitbucket.org/pstephens/
    [Show full text]
  • Software License Agreement (EULA)
    Third-party Computer Software AutoVu™ ALPR cameras • angular-animate (https://docs.angularjs.org/api/ngAnimate) licensed under the terms of the MIT License (https://github.com/angular/angular.js/blob/master/LICENSE). © 2010-2016 Google, Inc. http://angularjs.org • angular-base64 (https://github.com/ninjatronic/angular-base64) licensed under the terms of the MIT License (https://github.com/ninjatronic/angular-base64/blob/master/LICENSE). © 2010 Nick Galbreath © 2013 Pete Martin • angular-translate (https://github.com/angular-translate/angular-translate) licensed under the terms of the MIT License (https://github.com/angular-translate/angular-translate/blob/master/LICENSE). © 2014 [email protected] • angular-translate-handler-log (https://github.com/angular-translate/bower-angular-translate-handler-log) licensed under the terms of the MIT License (https://github.com/angular-translate/angular-translate/blob/master/LICENSE). © 2014 [email protected] • angular-translate-loader-static-files (https://github.com/angular-translate/bower-angular-translate-loader-static-files) licensed under the terms of the MIT License (https://github.com/angular-translate/angular-translate/blob/master/LICENSE). © 2014 [email protected] • Angular Google Maps (http://angular-ui.github.io/angular-google-maps/#!/) licensed under the terms of the MIT License (https://opensource.org/licenses/MIT). © 2013-2016 angular-google-maps • AngularJS (http://angularjs.org/) licensed under the terms of the MIT License (https://github.com/angular/angular.js/blob/master/LICENSE). © 2010-2016 Google, Inc. http://angularjs.org • AngularUI Bootstrap (http://angular-ui.github.io/bootstrap/) licensed under the terms of the MIT License (https://github.com/angular- ui/bootstrap/blob/master/LICENSE).
    [Show full text]
  • Sunspec Plant Information Exchange
    Document #: 12042 Status: DRAFT Version D6 SunSpec Plant Information Exchange SunSpec Alliance Interoperability Specification SunSpec Alliance Plant Extract Document Workgroup Brett Francis, Bob Fox, Ferdy Nagy, Paul Cobb, Michael Palmquist, Jose Gomez, Stephen Lapointe, John Nunneley, Terry Terasammal, Francisco Ancin, Beth McCanlies Draft 6 ABSTRACT The SunSpec Specification suite consists of the following documentation: - SunSpec Technology Overview - SunSpec Information Model Specifications - SunSpec Model Data Exchange - SunSpec Plant Information Exchange This is the Plant Information Exchange document. A Plant Information Exchange standard enables these functions: • A common monitoring extract format for asset analysis tools • A means to extract and send historic plant data between different monitoring systems • A way to report asset performance to financial partners, for plants managed by different monitoring systems Change History D-1: Initial (A) Draft – Brett Francis : 2012-May-23 D-1: B Draft – workgroup 2012-May-31 and 2012-June-7, Brett Francis : 2012-Jun-12 D-1: C Draft – Additional elements and grammar improvements – Brett Francis : 2012-Jun-13 D-1: D Draft – workgroup 2012-June-28 – plant, sunSpecMetadata and strings blocks D-1: E Draft – workgroup 2012-July-05 – intro update, participant block, enumerated types – Brett Francis : 2012-Jul-18 D-1: F Draft – John Nunneley input 2012-Aug-09 T-1: A – Promoted to TEST level 1.0 – John Nunneley 2012-Aug-09 T-1: B – General formatting, layout and grammar improvements – Brett Francis 2012-Sept-05 T-2:A – Incorporating feedback – 2012-MMM-dd V2-D1: Flesh out financial oversight use case and NREL requirements. 2013-Feb-14 V2-D2: Incorporate feedback.
    [Show full text]
  • Windows Installer XML: Käyttöönotto Asennusohjelman Tekemisessä
    Windows Installer XML: käyttöönotto asennusohjelman tekemisessä Koskina, Ekaterina 2012 Kerava Laurea-ammattikorkeakoulu Kerava Windows Installer XML: käyttöönotto asennusohjelman tekemisessä Ekaterina Koskina Tietojenkäsittelyn koulutusohjelma Opinnäytetyö Maaliskuu, 2012 Sisällys 1 Johdanto ............................................................................................. 6 2 Asennusohjelmat Windows- käyttöjärjestelmissä ............................................ 6 2.1 Windows Installer .......................................................................... 7 2.1.1 Synty, kehitys ja nykytilanne..................................................... 7 2.1.2 MSI- asennustiedoston rakenne .................................................. 8 2.2 WiX- työkalupaketti ja sen kilpailijat................................................... 9 3 WiX:in käyttöönotto ............................................................................. 11 4 WiX- teknologia ................................................................................... 13 4.1 Rungon Elementit ........................................................................ 14 4.1.1 Tuote- elementti ................................................................. 15 4.1.2 Pakkaus- elementti............................................................... 15 4.1.3 Media- elementti ................................................................. 16 4.2 Hakemistot ................................................................................ 17 4.3 Komponentti- elementit
    [Show full text]
  • OASIS AMQP Version 1.0
    OASIS AMQP Version 1.0 Committee Specification Draft 01 / Public Review Draft 01 21 February 2012 Specification URIs This version: http://docs.oasis-open.org/amqp/core/v1.0/csprd01/amqp-core-overview-v1.0-csprd01.xml (Authoritative) http://docs.oasis-open.org/amqp/core/v1.0/csprd01/amqp-core-overview-v1.0-csprd01.html http://docs.oasis-open.org/amqp/core/v1.0/csprd01/amqp-core-complete-v1.0-csprd01.pdf Previous version: N/A Latest version: http://docs.oasis-open.org/amqp/core/v1.0/amqp-core-overview-v1.0.xml (Authoritative) http://docs.oasis-open.org/amqp/core/v1.0/amqp-core-overview-v1.0.html http://docs.oasis-open.org/amqp/core/v1.0/amqp-core-complete-v1.0.pdf Technical Committee: OASIS AMQP Technical Committee Chairs: Ram Jeyaraman ([email protected]), Microsoft Angus Telfer ([email protected]), INETCO Systems Editors: Robert Godfrey ([email protected]), JPMorgan Chase & Co. David Ingham ([email protected]), Microsoft Rafael Schloming ([email protected]), Red Hat Additional artifacts: This specification consists of the following documents: • Part 0: Overview - Overview of the AMQP specification [xml] [html] • Part 1: Types - AMQP type system and encoding [xml] [html] • Part 2: Transport - AMQP transport layer [xml] [html] • Part 3: Messaging - AMQP Messaging Layer [xml] [html] • Part 4: Transactions - AMQP Transactions Layer [xml] [html] • Part 5: Security - AMQP Security Layers [xml] [html] • XML Document Type Definition (DTD) Related work: This specification replaces or supersedes: • http://www.amqp.org/specification/1.0/amqp-org-download Abstract: The Advanced Message Queuing Protocol (AMQP) is an open internet protocol for business messaging.
    [Show full text]
  • Snare for Windows Custom MSI V2.0
    Snare for Windows Custom MSI v2.0 © Intersect Alliance International Pty Ltd. All rights reserved worldwide. Intersect Alliance Pty Ltd shall not be liable for errors contained herein or for direct, or indirect damages in connection with the use of this material. No part of this work may be reproduced or transmitted in any form or by any means except as expressly permitted by Intersect Alliance International Pty Ltd. This does not include those documents and software developed under the terms of the open source General Public Licence, which covers the Snare agents and some other software. The Intersect Alliance logo and Snare logo are registered trademarks of Intersect Alliance International Pty Ltd. Other trademarks and trade names are marks' and names of their owners as may or may not be indicated. All trademarks are the property of their respective owners and are used here in an editorial context without intent of infringement. Specifications and content are subject to change without notice. Page 1 of 17 Table of Contents 1. Guide Overview . 3 2. Introduction to MSI . 3 3. Requirements . 4 4. Installing WIX . 5 5. Creating the MSI package . 6 6. Installing the MSI package using Group Policy . 9 7. About InterSect Alliance . 16 Page 2 of 17 1. Guide Overview About this Guide This guide provides administrators with the instructions to create a Windows MSI file, based on the required organizational security settings, using the freely available Windows Installer XML (WiX) toolset. This will allow you to remotely deploy Snare Enterprise Agents for Windows with a customized configuration, using the Microsoft Installer (MSI).
    [Show full text]
  • F/LOSS Is Commercial Software, David A. Wheeler
    Wheeler Page 1 of 8 Open Source Business Resource, February 2009: Commercialization HOME ABOUT LOG IN REGISTER SEARCH CURRENT ARCHIVES UPCOMING THEMES TIM LECTURE SERIES SPONSORS BLOG MULTIMEDIA Home > February 2009: Commercialization > Wheeler F/LOSS is Commercial Software, David A. Wheeler "The software created by open source communities became so powerful that commercial interests embraced those communities, supported them, learned from them and now are using the mechanisms of open source to make their businesses run better. This embrace has extended so long that commercial open source and open source are virtually synonymous." Dan Woods Many people mistakenly use the term "commercial software" as if it was the opposite of Free/Libre Open Source Software (F/LOSS). This is in spite of: i) the rise in commercial development and support for F/LOSS; ii) the goal of most F/LOSS projects to incorporate improvements, which is actually a form of financial gain; iii) official definitions of "commercial item" that include F/LOSS; and iv) F/LOSS licenses and projects that clearly approve of commercial support. In reality, there are two types of commercial software: proprietary software and F/LOSS. This paper provides examples for each of the four points mentioned above, briefly notes some alternative terms, and ends with some conclusions, explaining why it is important to understand that F/LOSS software is almost always commercial. Defining Key Terms Let's first define our key terms: F/LOSS: can be briefly defined as software with a license that gives users the freedom to run the program for any purpose, to study and modify the program, and to redistribute copies of either the original or modified program without having to pay royalties to previous developers.
    [Show full text]
  • Release Notes
    Intel® SDK for OpenCL™ Applications 2019 Update 2 Release Notes 14 February 2019 Intel® SDK for OpenCL™ Applications 2019 Update 2 Version History/Revision History These are the main releases of Intel® SDK for OpenCL™ Applications (also known as Intel® System Studio: OpenCL™ Tools component): Date Revision Description February 2019 2019 U2 Added support of Eclipse* 2018-12 R. Support of Eclipse* Oxygen and Visual Studio 2013 were deprecated and removed. Qt* was updated to 5.12 version. Protobuf* was updated to 3.6.1 version. November 2018 2019 U1 Experimental version of the CPU Runtime supporting OpenCL™ 2.1 has been deprecated and removed. Added support for Intel® VTune™ Amplifier, added support for Ubuntu* 18.04 August 2018 2019 Coffee Lake support, support of Intel® CPU Runtime for OpenCL™ Applications 18.1 December 2017 2017 U2 Eclipse Oxygen (4.7) support, bug fixes, and improvements July 2017 2017 U1 Visual Studio 2017 support, new OSes and platforms support October 2016 2016 U3 7th Generation Intel® Core™ Processor support, Windows* 10 Anniversary Update, OpenCL 2.1 experimental CPU only runtime for Linux* July 2016 2016 U2 (Linux) GPU Kernel debugger Beta and kernel level analysis for Linux June 2016 2016 U2 OpenCL 2.1 support, new features in Kernel Development (Windows) Framework April 2016 2016 GPU Kernel debugger Beta and standalone release for Linux Nov. 17, 2016 2015 U3 Standalone release for Microsoft Windows* April 28, 2015 2015 U2 Visual Studio 2015 support Jan 22, 2015 2015 U1 Released as part of Intel® Integrated Native Developer Experience (Intel® INDE) Customer Support For technical support, including answers to questions not addressed in this product, visit the technical support forum, FAQs, and other support information at Intel OpenCL Support or http://www.intel.com/software/products/support/.
    [Show full text]
  • The Ethics of Language Development
    Winter 2016 Covers 4 and 1_Fall 2015 Covers 1 and 4 11/17/16 1:20 PM Page 1 L Winter , 2016 I S T E N I N G This issue: / J o u r n a l o f C o m m u n i c a t i o n E t h i c s The Ethics of , R e l i g i o Language n , a n d Development C u l t u r e V o l . 5 1 Volume 51 Number 1 Winter 2016 Covers 2 and 3_Fall 2013 Covers 2 and 3 11/17/16 1:20 PM Page 1 Journal of Communication Ethics, Religion, and Culture Editor ........................Janie M. Harden Fritz, Duquesne University Production Editor ......Craig T. Maier, Duquesne University Assistant Editor...........Joshua D. Hill, Duquesne University Consulting Editors ....Mark McVann, F.S.C., Saint Mary’s College of California Marilyn Nissim-Sabat, Lewis University Thomas E. Wren, Loyola University Chicago Assistant Production Editors ......................Matthew Mancino, Duquesne University Joshua D. Hill, Duquesne University Justin N. Bonanno, Duquesne University u The views expressed in the articles in Listening/Journal of Communication Ethics, Religion, and Culture remain those of the authors. Their publication does not constitute an endorsement, explicit or otherwise, by the editors. u Listening is published three times a year, in Winter, Spring, and Fall. All correspondence (including subscriptions) should be sent to the Editor, Listening/Journal of Communication Ethics, Religion, and Culture , Depart ment of Communication & Rhetorical Studies, Duquesne University, 600 Forbes Avenue, Pittsburgh, PA, 15282. Tel: (412) 396- 6558.
    [Show full text]
  • Languages and GRIN-Global
    Languages and GRIN-Global Revision Date June 11, 2015 This guide explains how to modify GRIN-Global to include languages other than English in the Curator Tool. These directions can also be used to edit the default English headings and descriptions. Change notes pertaining to this document are summarized in the appendix. Review the Table of Contents which contains links to the document’s topics. gg_language_guide_2015jun03.doc Page | 1 Contents GRIN-Global and Languages ................................................................................................................. 3 Overview ......................................................................................................................................... 3 Language-related Database Items in GRIN-Global ............................................................................ 3 Adding a Language to GRIN-Global ...................................................................................................... 5 Overview ......................................................................................................................................... 5 Language-Friendly Column Headings ................................................................................................... 6 Overview ......................................................................................................................................... 6 Storing Language-Friendly Column Heading Names at Two Levels .................................................... 6 Using the
    [Show full text]
  • Wix Database XML Schema Table of Contents
    WiX Database XML Schema Table of Contents WiX Database XML Schema..........................................................................................................................21 Elements...................................................................................................................................................... 22 AdminExecuteSequence............................................................................................................................30 AdminUISequence..................................................................................................................................... 31 AdvertiseExecuteSequence....................................................................................................................... 32 AllocateRegistrySpace............................................................................................................................... 33 AppData..................................................................................................................................................... 34 AppId.......................................................................................................................................................... 35 AppSearch..................................................................................................................................................36 AssemblyName.........................................................................................................................................
    [Show full text]
  • Cake Documentation Release 0.1.21
    Cake Documentation Release 0.1.21 Patrik Svensson January 27, 2015 Contents 1 User documentation 3 1.1 Introduction...............................................3 1.2 How does it work?............................................3 1.3 Getting started..............................................5 1.4 Extensibility...............................................7 1.5 Contributors...............................................7 1.6 Contribution Guidelines.........................................8 1.7 AppVeyor integration..........................................9 2 Api documentation 13 2.1 API documentation............................................ 13 i ii Cake Documentation, Release 0.1.21 Cake (C# Make) is a build automation system with a C# DSL to do things like compiling code, copy files/folders, running unit tests, compress files and build NuGet packages. • GitHub: https://github.com/cake-build/cake • NuGet: https://www.nuget.org/packages/Cake Contents 1 Cake Documentation, Release 0.1.21 2 Contents CHAPTER 1 User documentation 1.1 Introduction 1.1.1 What is Cake? Cake is a build automation system with a C# DSL to do things like compiling code, copy files/folders, running unit tests, compress files and build NuGet packages. 1.1.2 Goals The goal of Cake is to be a first class alternative to those who want to write their build scripts in C# instead of Ruby, F# or Powershell. 1.2 How does it work? Cake uses a dependency based programming model just like Rake, FAKE and similar build automation systems where you declare tasks and the dependencies between those. 1.2.1 Tasks To define a new task, use the Task-method. Task("A") .Does(() => { }); RunTarget("A"); 1.2.2 Dependencies To add a dependency on another task, use the IsDependentOn-method. 3 Cake Documentation, Release 0.1.21 Task("A") .Does(() => { }); Task("B") .IsDependentOn("A"); .Does(() => { }); RunTarget("B"); This will first execute target A and then B as expected.
    [Show full text]