Saturday, February 23, 2008

Actually Using Wix

My last posts have discussed the many issues that I've had with installing the Wix toolset. This post will instead discuss the power and flexability that the toolset has to offer. Not only was I quickly able to create a .msi file using a small script but I actually understood a lot of what was going on.

The Wix toolset uses xml to bundle files, shortcuts, and registry entrys into a .msi file. The thing that really seemed powerful to me is the fact that you can quite simply just add lines to your script that instruct the script to include more files. Its actually quite basic, and that really is important to entry-level developers such as myself.

There are however some problems with this setup. By adding a line or two you can include a file into your .msi but what if your .msi consists of thousands of files? It would take an extensive amount of time to build a .msi line by line for a massive .msi file.

All things considered, I'm very impressed with the Wix toolset. Its easy to use and its very powerful. To read more check out my posts on the DPS911 wiki:

http://zenit.senecac.on.ca/wiki/index.php/Firefox_Deployment_Kit#Builds

Under my build 0.3 section there is a link to my Wix script and the .msi that resulted from it.

Monday, February 18, 2008

The Wix Toolset (part Deux)

I don't know what's more frustrating, wasting time trying to install programs and get the Wix Toolset to work, or figuring out that you wasted all that time for nothing.

Turns out the Wix Toolset has binaries and didn't see them. Shortly after getting the source files to work I found the binaries for the Wix Toolset.

Well atleast I have a working tool now. More later...

The Wix Toolset


Just as I was starting to run out of steam someone *cough* Dave *cough* showed me an OS tool known as the Wix Toolset. The Wix toolset is a set of tools that help a developer write .msi's using xml files. As of today, I havn't got very far with it because of a several things. Firstly I found out the hard way that the Wix toolset isn't compatible with Vista. This isn't a 1/2 hour mistake, this took me about 2-3 hours to discover just because of the 1/2 dozen packages you need to install just to use the toolset.

Once I made that discovery it was on to the next. I have an old XP laptop at my house and decided I could use it. After once again installing the couple hours of programs I was onto anther problem Turns out the Wix toolset doesn't give you very good steps to building it. I was stuck on a screen that read "Please set WIX env var". Perhaps I overlooked it but nowhere on the Wix page did it say I had to set any environment variables. So I set an environment variable to the Wix directory and it began to work (somewhat).

As if right now I'm struggling with an error message that seems to be telling me I need anther SDK. I've installed everything that the Wix build page has asked for but somehow I'm still requiring anther SDK. I've put up a screenshot of my error message in hopes that someone might be able to help me out with this.

Saturday, February 9, 2008

MSI's

Understanding that my work this semester has only been a compilation of documentation, I sat down this week trying to produce some tangible build. Here are some of the problems I'm facing as of right now. I've completed my research, I know how to push a build of Firefox over a network using a .msi file. As of recently I was able to use a .adm file to customize *some* features of the .msi install as well.

The only next thing to do is to create a tool that automates the whole process. A tool like Microsoft's IEAK that allows server admins to create a .MSI file based on fields they enter.

Thinking this was an easy task I began to install Microsoft's SDK kit for installers. Inside there is a tool called Orca. Orca is used to dissect and display the tables inside a .msi file. I decided that I would use Orca to take a peak inside the .msi file from FrontMotion. Inside I found a crazy mess of tables, some registry keys, some directory pointers and some I had no idea about. That is when I realized the true complexity of .msi files. They don't simply execute commands like a .exe, they have tables that indicate registry entries and pointers to directories to install files.

I've spend over eight hours this week trying to figure out this mess and still have very little to show for it. I was able to edit some fields in Frontmotion's .msi and I will be posting it on the wiki. I am hoping that my work will not be wasted and that by documenting this process I might be able to help someone else out that wants to attempt this task.

Pictures posted. 1) My simulated server environment



2) A screenshot of my work with Orca

Sunday, February 3, 2008

New Direction

So I've find out some new things since my last post. Turns out that I lied somewhat in my last post, I said that I figured out to install Firefox remotely without any prompts. Well turns out that is only partially true. When the user tries to use the installed edition of Firefox it then walks him/her through the installer.

I decided to go back to my mock enterprise setup and try some other things with Server 2003 and Firefox. My thoughts in my last post were to somehow combine the efforts of MKaply's CCK and Active Directory to push a customized version of firefox. There are however a couple problems with this thought. Firstly, CCK creates an .xpi file that Firefox uses to customize it's features. Until I figure out how to bundle this .xpi file with the .msi file I have then this route is a dead end.

That being said, my next task is to look into FrontMotion's .Msi file and see if I can dissect it.