Simon, This should be fixed in CVS now.  Before, it wouldn't allow a COM
component or assembly to be a key file if there were other files (normal or
COM/Assembly files) in the component.  This was because multiple components
were created pointing to the same key.  That breaks MSI rules.  I've changed
the logic somewhat and it will create individual components for each COM
component/assembly as long as the file isn't equal to the keyfile.
Otherwise, it will allow the COM component/Assembly to equal the keyfile and
will add other files (non com components/assemblies) to that component, as
it did before.

Basically, this allows the user to specify any file as the keyfile and it
should work, now.  

Personally, I think we could do away with requiring the keyfile altogether
and instead, construct the database similar to how Visual Studio does...
where each file is assigned to its own component.  What do you guys think of
this approach?  This functionality might not be worth it, but I think it
would be good to discuss... 


John, I copied you on this thread to let you know that I checked in an
update to the msi target in the NAntContribInstall.include file.  The task
will only build an install of NAnt right now.  I'll get around to writing
the tasks to build the merge module(s) for NAntContrib later on (either this
week or next).  Sorry for just this taking so long.. I've been trying to
recoup from my recent trip to Vegas :|  Anyway, if you get a chance to try
this out and install it, let me know if you run into any issues... 




-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] 
Sent: Tuesday, June 15, 2004 4:26 AM
To: [EMAIL PROTECTED]
Subject: RE: [Nant-users] MSI-Task

thanks James that works fine, the next problem however is the following:

Unable to build MSI database 'MSG.Sapphire.msi'.
    Cannot specify key 'ExWebGold.dll' for component 'C__BinFiles'. File has
been detected as being a COM component or Microsoft.NET assembly and is
being registered with its own component. Please specify a different file in
the same directory for this component's key.

all the files in this websites bin directory are .NET assemblies so how do I
specify a keyfile if the above is true?

-----Original Message-----
From: James Geurts [mailto:[EMAIL PROTECTED]
Sent: 15 June 2004 00:54
To: Simon Burgess
Subject: RE: [Nant-users] MSI-Task


They're a bit dated, but the last one should be fine for what you're trying
to do.  I don't think I fixed too many bugs between then and now.

http://nantcontrib.sourceforge.net/nightly/builds/



-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] 
Sent: Monday, June 14, 2004 10:01 AM
To: [EMAIL PROTECTED]
Subject: RE: [Nant-users] MSI-Task

Hi James

Many thanks for the info.
I have the latest nightly build of NAnt and I have release 0.84 of NAnt
contrib. I can't seem to find any nightly builds of NAnt contrib though.

cheers
Simon

-----Original Message-----
From: James Geurts [mailto:[EMAIL PROTECTED]
Sent: 14 June 2004 01:56
To: Simon Burgess; [EMAIL PROTECTED]
Subject: RE: [Nant-users] MSI-Task


Hi Simon,

Please make sure that you are using a nightly build of NAntContrib.  You'll
need to also use a relatively new nightly build of NAnt to build the
NAntContrib tasks.  The msi/msm task schema changed between 0.84 and the
current builds, giving you the error that you see.  

Otherwise, you could try using a previous version of the file.  I believe
that version 3 works with the 0.84 msi task schema.  Available here:
http://nant.sourceforge.net/wiki/index.php/sample%20build%20file?version=3

As for merge modules... think of them as a storage mechanism to share common
install information.  For example, you could build a merge module containing
just the NAnt bin files.  Then, for each msi that you create, you could just
merge the (merge module) file into each msi.  That way, you don't have to
specify the (for this example) NAnt bin files for each msi.  They would
automatically be added to the install via the merge process.  Convenient if
you wanted to add an NAnt subfolder (containing a known set/version of
files) to one or many installs.

Another example is that your company could have a common way to setup a
database... It could involve custom dialog(s) to specify server, user, and
password.  It would also use a custom action to modify the database.  Rather
than always creating custom actions and dialogs, for each install, you could
separate that logic into merge modules.  So, for this example, you could
create a merge module that contains the dialogs.  You could also create a
merge module that handles the custom action logic.  For each product install
that your company creates, you would then just add those merge modules to
the install.  That way, each install would maintain exactly the same logic.
It would also allow you to easily omit the dialog(s) from the install if,
for that particular install, the database setup was to be automatic without
user interaction.  More information here:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/m
erge_module_database.asp


Hope that helps

Jim


-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of
[EMAIL PROTECTED]
Sent: Thursday, June 10, 2004 11:48 AM
To: [EMAIL PROTECTED]
Subject: [Nant-users] MSI-Task

Hi All
I'm trying to use the sample 'VDirSample.build' to generate an msi for a
website depoyment, but I'm getting the following error:

"....

Target(s) specified: msi 

msi:


BUILD FAILED

Validation Error: Element 'NAnt.Contrib.Tasks.MSITask:msi' has invalid child
element 'NAnt.Contrib.Tasks.MSITask:features'. An error occurred at (219,
4).

Total time: 2.2 seconds.

..."


...as you can see it seems to be suggesting that 'features' is not a valid
child of 'msi', any ideas?

Also I'm not quite sure where merge modules come into the equation. The
sample build file uses 'components', is this the equivalent to merge
modules. If say you needed to develop one msi that installed one more than
one web site, would you hav an msi for each site and then some kind of
toplevel controlling msi?

many thanks

Simon Burgess



______________________________________________________________

CONFIDENTIALITY NOTICE

This communication and the information it contains is intended for the
person or organisation to 
whom it is addressed.  Its contents are confidential and may be protected in
law.  Unauthorised use,
 copying or disclosure of any of it may be unlawful.  If you are not the
intended recipient, please 
contact us immediately.

The contents of any attachments in this e-mail may contain software viruses,
which could damage your 
own computer system.  While Marlborough Stirling has taken every reasonable
precaution to minimise 
this risk, we cannot accept liability for any damage, which you sustain as a
result of software 
viruses.  You should carry out your own virus checking procedure before
opening any attachment.


Marlborough Stirling plc, Registered in England and Wales 
Registered No. 3008820,
Allen Jones House, Jessop Avenue, Cheltenham, Gloucestershire, GL50 3SH
Tel: 01242 547000     Fax: 01242 547100
http://www.marlborough-stirling.com



-------------------------------------------------------
This SF.Net email is sponsored by the new InstallShield X.
>From Windows to Linux, servers to mobile, InstallShield X is the
one installation-authoring solution that does it all. Learn more and
evaluate today! http://www.installshield.com/Dev2Dev/0504
_______________________________________________
Nant-users mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-users



-------------------------------------------------------
This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference
Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer
Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA
REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND
_______________________________________________
NAntContrib-Developer mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nantcontrib-developer

Reply via email to