How to create and edit WiX files? [closed] - wix

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
Microsoft is moving away from the Visual Studio built-in MSI setup projects. WiX seems to be one alternative. But the tutorials I've found for WiX are all about five years old. For example, WiX: Hints for New Users (Part 1 of 3) is one from 2007.
Are there newer/better tutorials for WiX?
That article and others mention Votive as a way to create and edit WiX files.
Is Votive still an active project?
WixEdit claims to be the only active project for a WiX editor, but it isn't integrated into Visual Studio.
Should I use WixEdit or Votive?

Here's an answer I've posted before here. I'm not going to update it except to add Joy of Setup (from bob-arnson) and all the links in his blog sidebar will also be of use, less so in learning from scratch but very useful in knowing more once you get up to speed.
I dove into WiX about 4-5 years ago and it took me a good 6+ months before I felt I knew what I was doing and 12+ months to feel confident. There is a LOT that could be done to make it easier to get started from scratch - but the problem that most people don't realise is that if first you learn Windows Installer/MSI, then WiX is damn simple.
Go pick up a copy of The Definitive Guide to Windows Installer. I've lost count of how many times I've recommended it to people who are getting stuck on the concepts and are struggling to understand how Windows Installer works. Make sure you grab the Windows Installer SDK as well.
Getting to grasp with Windows Installer is the first stage of your learning, once that's sunk in you'll understand how InstallShield works (or doesn't work as the case may be..). Wise, InstallShield, etc try to shield you from the underlying concepts and have their own trickery/hacks to get around the limitations of Windows Installer.
Stage two (if you're serious about understanding Windows Installer) is learning WiX (The WiX Tutorial isn't too bad, although it's a bit out of date and targeted at WiX 2.0 rather than 3.0) and joining the wix-users mailing list. Don't join the users list until you've finished the book mentioned above, you'll be well in over your head. Questions from those who don't understand the Windows Installer concepts largely go ignored, however questions from people who have done their homework will find it a great resource.
What's not covered in the book is Vista, Robert Flamings blog entries on Understanding UAC and Vista (written when Vista was in it's beta stage) are the best information you'll find on the topic.
One thing that both the Windows Installer and WiX teams is really good at is keeping the documentation (Help files) up to date. Whenever I'm working on setups I'll generally have Wix.chm and Msi45.chm open on one monitor ;)
Along with the documentation, blogs from people on the WiX and Windows Installer teams are great for learning new tricks, etc. Far too many to list here, but once you know the terminology you'll find most of them popping up in google results.
If this all seems too much, then check out NSIS. Great for simple "I just need to copy files" type installations, not so great for enterprise deployments. If you're torn between the two then maybe go take a look at Rob Mensching's old blog when setup isn't just xcopy. Articles there are probably what convinced me that diving in and learning the underlying Windows Installer concepts would pay off in the long run. And it has :)
Update - since my original post, WiX: A Developers Guide to Windows Installer XML has been released and is also a good resource for beginners. (I didn't find it that great myself though.) I still suggest reading The Definitive Guide to Windows Installer as a starting point. Windows Installer and WiX isn't something you just pick up in a few days, it'll take a few months.

Download WiX and look at the tutorials in the manual (which is also installed as a .chm). When you install WiX, it will install the necessary files and templates so that it integrates nicely with Visual Studio.
Note: Every tool in WiX begins with a letter that helps signify its use. Votive is just the piece that integrates with Visual Studio.
Examples:
Votive = Visual Studio
Burn = Bootstrapper / Bundle
Candle = Compiler
Light = Linker

I used the book WiX: A Developer's Guide to Windows Installer XML to get up to speed with WiX.
You can get Visual Studio integration from the WiX home at CodePlex.

Related

Creating an MSI in visual Studio 2013

I am looking for help with deploying an application for my company. I have tried using clickonce but it does not give the option to allow the user to select where it is to be installed. I like it because it has the built-in updater. I am looking for a solution that will work with these requirements. I dislike install-shield because the update function requires money to use.
1) Built in Updater
2) allow user to select install location
3) Creates uninstaller
4) Creates desktop and Menu Shortcuts
I really appreciate the help and through all of the things I have tried, WIX, Visual Studio Installer doesn't seem to work.
Thank you for your time.
Maybe check this answer on auto-update features. Please skim all answers - there is information about different types of deployment formats. And check the "Roll your own" section towards the bottom of my answer. It is "the poor man's upgrade feature". Further, there is this list of MSI tools. Extensive links to more information.
You mention Installshield does not suit your needs due to licensing issues. You could test Advanced Installer. They have an upgrade feature (about) (please read), though it is also commercial and costs money. Using the Updater. You can try their forum for more information: https://www.advancedinstaller.com/forums/. I am not quite up to speed.

What do I need to build a DLL?

I'm having a number of issues, and the current one is overcoming a security exception when using iTextSharp.
This article
http://www.junlu.com/list/27/763977.html
To which I was directed following this question I posted yesterday:
Displaying a bar code with iTextSharp using Chris Love's Barcode Handler (2 part)
Seems to be what is required to overcome my problem. But I have searched and searched and cannot find a definitive and simple answer to the question "How do I compile a DLL"
So, having made the suggested modification to iTextSharp, I need to make it into a single DLL.
I have absolutely no idea how to do this, despite an hour of Googling!
I'm using Visual Web Developer 2010 Express. Which according to my searches does not have any built in capability to do this. So... how do I?!
Do I NEED to download Visual Web Developer Pro? I can surely download the free trial and use that, but going forward, I don't especially want to have to download a pay-for program to do this as it's a rare occurrence for my needs.

Which is the best IDE to use with the Yii Framework [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I have been using the Zend Studio for quite somewhile for my Zend projects and am looking for an IDE that would work well with Yii Framework.
Yii is just PHP. So any IDE for PHP will work fine.
I use Eclipse. If you include the framework correctly you get all of the hints and code completion benefits. I like step-through debugging and breakpoints with Xdebug, which is why I use an IDE instead of Emacs/Vim/Notepad++, but they would work just fine too.
I don't know how integrated Zend Studio is with the Zend Framework, but it should work just fine for Yii development. Don't make life harder for yourself by learning a new environment. Save time and jump in with Zend. Again: any PHP 5 IDE will work just fine for Yii, the best one is the one you are most familiar with! ;)
I recommend NetBeans as it gives you autocompletion of variables as well as PHPDOC comments, and a whole lot of other goodies. :)
Enjoy!
There seems to be a good number of people on the Yii boards using NetBeans as the preferred IDE (as well as a lot of discussion regarding the topic of IDEs).
Here is a wiki post on how to make the most out of your Yii/NetBeans development environment: http://www.yiiframework.com/wiki/83/
Update:
NetBeans 7.3 now has an community supported plugin for Yii which has some great features:
http://plugins.netbeans.org/plugin/47246/php-yii-framework-netbeans-phpcc
And is openly developed on github:
https://github.com/nbphpcouncil/nb-yii-plugin/issues
I'm not sure there is any IDE made to work with Yii (like Zend Studio supports Zend Framework). On Yii Wiki page you can find a way to configure IDE to work with Yii framework better, and choise there is limited to NetBeans, Eclipse, PHPStorm IDEs (last one seems to be not free). You can take a look at that wiki page as well as at IDEs description and see which IDE provides easier way to code, framework integration, debug etc. and make your decision.
As it's said before the NetBeans is good, but also if you like something more lightweight then go for vim or emacs.
I use Nusphere phpEd, code autocompletion & navigation by ctrl+click on class/method name works great for Yii.
Advice to improve IDE intelligence:
White DocBlock comments with #var ClassName.
For example:
$cs = Yii::app()->clientScript;/**#var CClientScript */
Also if you include Yii from external directory to your project, you can specify it in project settings of Nusphere phpEd.
I prefer phpEd because it's written not on Java (fast!), have great degugger (not xdebug) + profiler and nice, aesthetically beautiful interface.
I really enjoy using Netbeans, it just feels right. However I found setting up debugging and unit testing was a bit of a pain. I recently had to reinstall my computer so am giving Zend Studio 8 a try, the debugging, and profiling (I use Zend Server) are very good and require little to no setting up. However it doesn't feel as nice as Netbeans, not quite as polished maybe... it's hard to explain. Zend does have some very good features and ties in with Zend Server, however some of the other configuration options are very complex. Seems to be too many options at times, whilst Netbeans keeps it simple.
In an ideal world Netbeans would come with debugging, unit testing etc build in as I want to make websites not set up servers. I think it's part of the problem with some open source/free software, they require a bit of a learning curve or willingness to manually configure settings - it's understandable they are free. But it also holds back their more main stream acceptance. Sorry, that was a little off topic at the end!
Can use eclipse with PDT + Yiiclipse. Yiiclise adds wizard for creating new yii application (with initializiation of one of the demo application). But the most cool feature is Navigation. Now one can easily navigate between render methods and appropriate views, between widget method and widget source. Really useful.

Are there any books on WiX? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
Are there any books on WiX?
Yes! A Developers Guide to Windows Installer XML (I've got it, but haven't read it yet so can't comment on the quality of the book)
However I would first say, forget about WiX initially. Your concern is Windows Installer - WiX is simply a tool to define Windows Installer databases (MSI files). WiX is no different than many other products out there, except for the fact that it doesn't try to mask any Windows Installer concepts for you. InstallShield transparently does a bunch of things that Windows Installer doesn't support via custom actions and the like, WiX forces you to think more about the Windows Installer methodology and way of doing stuff. Windows Installer is what you want to understand, WiX comes afterwards.
Second, get a copy of The Definitive Guide to Windows Installer. This book is an invaluable resource for anyone looking to understand how Windows Installer (MSI) works.
Third, start with the first entry in the UAC in MSI blog posts and you should be able to get a better grip on things. Best documentation I ever read in trying to understand elevation, permissions and all the other stuff that goes with UAC.
Once you understand Windows Installer, WiX is extremely straightforward. It's just a new language to express the Windows Installer concepts - trying to learn them at the same time can get very confusing, but if you learn MSI first then WiX it's simple!
There is a book now: http://www.packtpub.com/article/getting-started-with-windows-installer-xml-wix.
Before you ask, no I have not read it. :)
I believe there is one in development called "The Wix Book", but right now I'm not sure any exist.
I usually point people towards this tutorial, it gives a good overview of the features and tools available:
http://www.tramontana.co.hu/wix/
There is also a quick introduction here:
http://ondotnet.com/pub/a/dotnet/2004/04/19/wix.html
I found a great WiX book on amazon recently and bought it. So far, very straightforward and useful.
http://www.amazon.com/WiX-Developers-Guide-Windows-Installer/dp/1849513724

Good resources for learning how to create MSI installers from WiX [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
I've given up trying to apply lipstick to the pigs of installers that come out of Visual Studio and have decided to look at WiX.
What resources would you recommend to learn and reference?
(Note - this is not a which-installer-technology-do-you-use question - it's specific to WiX.)
The WiX tutorial is the #1 resource
The people on the mailing list are very helpful
There's a The Code Project article, Creating an installer using Wix v3.0, Votive, and Visual Studio 2005/2008 - Part 2, the GUI that might help
Ther's a bunch of blogs, I keep bumping into Rob Mensching's (old).
Rob Mensching's new blog.
I haven't read WiX - Windows Installer XML (broken link), but I found it in my bookmarks
This code project tutorial outlines the bare minimum and builds up from there
One of the best ways I found to learn WiX was to take an existing MSI that did something I wanted to do, and used the Dark decompiler to generate a WiX script from it, and then I read that.
Apart from the links provided by people above, also have a look at the approach I use to explain this to people :
From first glance From MSI to WiX seems fairly comprehensive.
Even though it's not only related towards WiX, the book from Apress:
The Definitive guide to
Windows Installer
By Phil Wilson
link
It helped me to understand the installation processes. It's a good book to have when writing installers.
I have to add wix-users#lists.wixtoolset.org. That's where everyone hangs out and asks/answers questions as they come up. Just lurking on that mailing list will provide lots of real-time education on the WiX toolset.
Here's a shameless plug to the book I've recently published through Packt:
WiX: A Developer's Guide to Windows Installer XML
It covers a lot of what you'd need to know to get going using WiX 3.0.
If you understand German, then read the articles in the Entwickler Magazin, edition: 2008-05, 2008-06 and 2009-01.
A follow-up will be published in 2009-02, with more developing stuff (MSI API).
You may use link as a reference https://www.firegiant.com/wix/tutorial/
It won't help a beginner as it didn't provide any practical examples.
For a beginner, if you have a pluralsight subscription, there is a course which will teach you the basics.
'WIX-Cookbook' https://www.packtpub.com/web-development/wix-cookbook by Nick-Ramirez (Covers Wix-3.8). This is the book if anyone looking to get the job done quickly.
If you want to gain in-depth knowledge on how and why everything works, you probably better of going through Wix-3.6 A Developers Guide by the same author.
https://www.packtpub.com/application-development/wix-developers-guide-windows-installer-xml
To create an installer for websites, refer following series by Bart De Meyer
http://blog.bartdemeyer.be/2013/10/create-an-installer-for-website-with-wix-part-1/
This article will show you how to use Wix tools like Candle and Light.
I've written a tutorial that shows you how to create a WIX installer for a console application here, if you wanted a practical example.
Chiming in with another shameless plug; I recently wrote an article where I somewhat desperately try to explain some of the concepts of WiX in a more easily-understood way than the others. No offence.
http://www.optimalbpm.se/wiki/index.php/WiX
It is meant to be read before reading any tutorials, because it specifically tries to address some of the things people always seem to misunderstand as a result of well, reading those tutorials. And especially the documentation. At least I did.
Also, there is another article, a little bit more advanced, that has an angle to those distributing script(like Python etc)-based systems, and why one in not only those, but all cases should use Paraffin rather than Heat.
http://www.optimalbpm.se/wiki/index.php/Wix_and_scripting_languages