Hi Mike,

Thanks for tracking this down.  I fixed the bug and checked the update into
cvs.  The FeatureComponents table should only be populated for MSI
databases, and moving the statement into an else block does that.  Also, I
fixed another issue that I was seeing, so that merge module components use
the null guid by default.  The task was dying while trying to populate the
MsiAssembly table, for a merge module, with a null value for
featureComponents[ComponentName].  

Anyway, let me know if you have any other troubles...

Jim



-----Original Message-----
From: Stephens, Michael [mailto:[EMAIL PROTECTED] 
Sent: Thursday, April 22, 2004 4:23 PM
To: 'James Geurts'
Subject: RE: Rollback of refactored MSI/MSM tasks

Jim,

Maybe you could double check this for me but I believe my problem with the
MSM task is due to a bug.  I found that anytime that a .dll or .exe file was
being loaded in the msm task it was blowing up and I traced it back to the
following location and believe that the fix outlined below will solve the
problem. 

InstallerCreationCommand.cs line 2158 
It should appear like this:

if (modComponentTable != null) 
{
        AddModuleComponentVirtual(database, modComponentTable, asmCompName);
}
else
{
featureComponentTable.InsertRecord((string)featureComponents[ComponentName],
asmCompName);
}

Before it looked like this:
featureComponentTable.InsertRecord((string)featureComponents[ComponentName],
asmCompName);
if (modComponentTable != null) 
{
        AddModuleComponentVirtual(database, modComponentTable, asmCompName);
}

I don't think that a feature component should be being added in the msm
task. 

I can now build successfully and I believe that it is a valid msm file. 

Thanks, 

Mike

-----Original Message-----
From: Edwards, Jayme 
Sent: Thursday, April 22, 2004 11:28 AM
To: James Geurts
Cc: [EMAIL PROTECTED]; Stephens, Michael;
[EMAIL PROTECTED]; [EMAIL PROTECTED]
Subject: RE: Rollback of refactored MSI/MSM tasks

Thanks Jim - if your confident you and Gert can help us through these issues
in the next week or so I'm cool with using the new tasks. Maybe we were
missing something but it seemed a lot was broken here and the schema had
changed significantly.

-Jayme

-----Original Message-----
From: James Geurts [mailto:[EMAIL PROTECTED] 
Sent: Thursday, April 22, 2004 11:04 AM
To: [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED];
[EMAIL PROTECTED]; [EMAIL PROTECTED];
[EMAIL PROTECTED]
Subject: Re: Rollback of refactored MSI/MSM tasks

Hey Jayme,

A slight correction is needed.  Kraen did the majority of refactoring for
the tasks (sorry don't have his email address with me right now).  Also,
from what I've used/tested so far, the tasks have worked at the same level
that they were before.  Overall, the changes just removed a lot of
repeditive code throughout the two tasks.

I haven't gotten a recent nightly build (I'm using one from the middle of
February, I think), but I'll try to help you guys through the issues that
you come up with.  I'd like to have more contributions to the task base, if
possible :)

A big change that was recently implemented, however, is how files are
included in the components.  The filesets now act as the typical fileset
from NAnt, meaning you do not need to create a mock directory structure
anymore.

Also.. Mike, I am planning on working through your problem tonight when I
get home (around 6pm EST).   In the mean time, you might want to have a look
at the samples from the wiki:
http://nant.sourceforge.net/wiki/index.php/samples%20for%20install%20tasks
I know those scripts have built and run properly with the refactored tasks.

Jim


> Hello,
>
>
>
> We've been using the MSI/MSM tasks that were coded prior to Gert
> Driesen's refactoring work for several product releases here at
> Rockwell Software over the past couple years. When NAnt 8.4 was
> released, some updating needed to be done to these tasks to make them
> work with some API changes in NAnt, and in that time Gert took it upon
> himself to do some reduction of lines of code in the tasks.
>
>
>
> I've had a developer here Mike Stephens evaluate the use of WiX
> (Microsoft's XML scripting installation tool) when that snafu was
> introduced to the fold, and he found that it's not going to meet our
> needs. It doesn't have decent documentation, and doesn't support the
> features the MSI/MSM tasks for NAnt include that we need.
>
>
>
> After reaching this conclusion, I asked Mike to get the latest
> refactored MSI/MSM tasks and get those integrated into our build
> scripts here that use NAnt 8.4. Mike found that the simplest MSI
> install didn't work and contacted Gert to fix a bug. Since that time
> we're running into bug after bug in the new refactored code.
>
>
>
> I am very concerned about how this refactored code has made its way
> into the main NAntContrib branch without any formal testing considering
> the time already spent getting the pre-8.4 code to work, and the impact
> of this on other users of NAntContrib that are having problems using
> the new versions. I don't feel very confident that the new code is
> thoroughly tested, and though it compiles there are numerous features
> of the MSI/MSM tasks that don't appear to have even been even exercised
> prior to the checkin.
>
>
>
> I would like to request that we do some work to update the versions of
> the MSI and MSM tasks based on code before Gert's refactoring to work
> with the current CVS build of NAnt (all we need to do is update calls
> that interface with the new NAnt and are affected by API changes) and a
> folder "Future" or something similar be created and the refactored
> MSI/MSM tasks be moved here. Should a time come where the refactored
> tasks are stable enough to do everything the old code did, we can
> replace them. But I'm certain that as of now this isn't the case.
>
>
>
> If this cannot be done we will have to just use the older tasks here
> and not be able to contribute back to Sourceforge, which is
> unfortunate. But Jim Geurts and I spent a lot of time using, fixing the
> bugs for, and verifying the old versions of the tasks in real product
> builds here at Rockwell Software and exercised every function of the
> tasks. Until I see a build that exhausts all the features of the tasks
> that can run using the new refactored versions, we can't use them.
>
>
>
> Let me know what you think we should do.
>
>
>
> Gert - I hope I'm not insulting you by what I'm saying in this email I
> know you did a lot of work to refactor the code we originally
> contributed and I think you did a good design. But just as is with a
> commercial software product that has customers, open source projects
> that have been established for a while need to make sure we don't upset
> our user base that has been using these tasks and contributing code to
> them for a while now. If we want to continue using your refactored
> tasks without rolling back to the new ones until your done, your going
> to have to move very quickly to test and verify that the new code works
> and make any bugfixes needed ASAP. If it takes several months to get
> there when we already had code that worked before but needed some minor
> updates to be compatible with the new NAnt 8.4 API, that's
> unacceptable.
>
>
>
> Jayme Edwards
>
> Product Architect
>
> Rockwell Software
>
> RSProduction Portal
>
>



-------------------------------------------------------
This SF.net email is sponsored by: The Robotic Monkeys at ThinkGeek
For a limited time only, get FREE Ground shipping on all orders of $35
or more. Hurry up and shop folks, this offer expires April 30th!
http://www.thinkgeek.com/freeshipping/?cpg=12297
_______________________________________________
NAntContrib-Developer mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nantcontrib-developer

Reply via email to