← Back to team overview

nunit-dev team mailing list archive

Re: Installation layout for NUnit V3

 

Hi Charlie,

[...]
>> We hadn't talked about this before, but I hesitate to add a 
>> Visual Studio dependency in order to build the installer. In 
>> the past, we used a VS Install project, but went to straight 
>> WiX using the NAnt script because lots of people who want to 
>> build it don't have VS available. Can we still do it that way?
> 
> I'm of two minds here. I did the original installer completely
> by hand - a lot of it in notepad. OTOH, I'm guessing the
> Votive plugin for Visual Studio allowed you to put it all
> together a lot more quickly.
Yes, you're right. Due to the lack of a really good and free text editor
on Windows I'd prefer to use Votive for WiX development. Particularly
the Intellisense makes it easier to use WiX.

>> I can install whatever is needed to test this out but I'd 
>> like to get away from any VS dependency if we can.
> 
> I can see that there is no dependency on VS in order to build
> the msi after changing the framework. We can have a package-msi
> target in the script, just as we now do.
This would work like any other C# project we have now. Development with
VS and Votive (or SharpDevelop), but the build script calls the NAnt
tasks for WiX.

> The dependency is for making any changes in the install itself.
> I see two ways to go here:
> 
> 1. Keep the VS solution. Major changes will have to be made by
> someone with access to VS2008. Many minor changes could probably
> be made simply by editing the wxs files directly.
> 
> 2. Drop the solution and go back to hand editing files.
> 
> Are there other choices?
Maybe Intellisense would even work without the solution and the project.
WiX files are XML files with a schema and Intellisense is provided by
the XML editor which parses the schema files which has been installed by
the WiX installer.

I think it would be harder to test, since you'd have to run the build
script to create the installer.

> Of those two choices, I'm surprising myself by suggesting that
> #1 has the edge. 
> 
> * It does create a dependency on VS, but a limited one.
> * VS is not needed to generate a new package after changing
>   the framework.
> * VS is not really needed even to modify the package logic
>   itself - it just makes it a lot easier.
> 
> If there is another way to build a WiX installer - with 
> SharpDevelop for example - I'd like to support that as well,
> but if not I'm OK with having the solution as a convenience
> for VS users.
SharpDevelop can open the solution and you can use the WiX extension
which ships with SharpDevelop. The only problem is that SharpDevelop
"downgrades" the solution file by specifying format version "9.00"
instead of "10.00".

> 
> That said, I don't think we should do anything that locks
> it in further, like adding extensions or user logic in the
> same solution.
> 
> BTW, I'm assuming the installer project won't work with
> C# Express, right?
You're right. I'm using Visual Studio 2008 Shell for WiX development
with Votive. But that means that there must be only WiX projects in the
solution.

Andreas




Follow ups

References