Ted,

I looked on NAntContrib and a build that would include the keepsubdirs
attribute isn't there yet.  The 20040723 is the latest build that's
available and it was my starting point for adding the keepsubdirs
attribute.

Once a build is available, the following might be informative.

I'm learning about MSI the same as you.  I'll help if I can.

Noel

Below is my test directory structure: (I also verified it on a much
larger project - but no guarantees ;)
------------------------------------------------------------------------
---

C:\Projects\nant-0.85-20040722>dir subdir /s
 Volume in drive C has no label.
 Volume Serial Number is 189E-245F

 Directory of C:\Projects\nant-0.85-20040722\subdir

07/24/2004  10:00 PM    <DIR>          .
07/24/2004  10:00 PM    <DIR>          ..
04/07/2004  07:55 PM             2,339 README11.txt
07/24/2004  10:00 PM    <DIR>          SubDirLevel21
07/24/2004  10:01 PM    <DIR>          SubDirLevel22
               1 File(s)          2,339 bytes

 Directory of C:\Projects\nant-0.85-20040722\subdir\SubDirLevel21

07/24/2004  10:00 PM    <DIR>          .
07/24/2004  10:00 PM    <DIR>          ..
04/07/2004  07:55 PM             2,339 README211.txt
04/07/2004  07:55 PM             2,339 README212.txt
07/25/2004  11:10 PM    <DIR>          SubDirLevel3
               2 File(s)          4,678 bytes

 Directory of
C:\Projects\nant-0.85-20040722\subdir\SubDirLevel21\SubDirLevel3

07/25/2004  11:10 PM    <DIR>          .
07/25/2004  11:10 PM    <DIR>          ..
04/07/2004  07:55 PM             2,339 README31_long.txt
04/07/2004  07:55 PM             2,339 README32.txt
04/07/2004  07:55 PM             2,339 README33_long.txt
               3 File(s)          7,017 bytes

 Directory of C:\Projects\nant-0.85-20040722\subdir\SubDirLevel22

07/24/2004  10:01 PM    <DIR>          .
07/24/2004  10:01 PM    <DIR>          ..
04/07/2004  07:55 PM             2,339 README221.txt
               1 File(s)          2,339 bytes

     Total Files Listed:
               7 File(s)         16,373 bytes
              11 Dir(s)  14,942,146,560 bytes free


Below is the script that I used when debugging the keepsubdirs
attribute:
------------------------------------------------------------------------
--

<project name="Test" default="MSI">

    <target name="MSI">
        <msi sourcedir="." output="SubDir.msi" verbose="true" >

            <properties>
                <property name="ProductName" value="SubDir Build" />
                <property name="ProductVersion" value="1.0.0.0" />
                <property name="Manufacturer" value="Open Source" />
                <property name="ProductCode"
value="{1CE34C58-6898-4014-BB7A-09CDDDBD329A}" />
                <property name="UpgradeCode"
value="{BBD58C5F-B736-4DEB-8903-E5951C43A3FE}" />
            </properties>

            <directories>
                <directory name="D__SD" foldername="SubDirInstall"
root="WindowsVolume" />
            </directories>

            <components>
                <component name="C__SD"
id="{14FE0FA6-D043-42B3-AB10-F40B1C390A82}" 
                            directory="D__SD" attr="2" 
                            feature="F__All"
installassembliestogac="false"
                            keepsubdirs="true" >
                    <key file="README11.txt" />
                    <fileset basedir="SubDir">
                        <include name="**\*.*" />
                    </fileset>
                </component>
            </components>

            <features>
                <feature name="F__All" title="SubDir Build" display="2"
typical="true">
                    <description>SubDir Build</description>
                </feature>
            </features>
             
        </msi>
    </target>
</project>

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of James
Geurts
Sent: Thursday, July 29, 2004 8:14 AM
To: 'Ted Quinby'; [EMAIL PROTECTED]
Subject: RE: [Nant-users] msi, components, and subdirs

Hi Ted,

Sorry, I should have mentioned that the xsd file that I pointed you to
was
the most recent version, thus only valid for a nightly build of
NAntContrib.
Also, the keepsubdirs attribute was just recently added, so it would
only be
valid in a very recent nightly build of NAntContrib.

Is there any way you could provide the build script that you are using?
Also, could you provide the entire output w/ error? 

Thanks

Jim

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Ted Quinby
Sent: Thursday, July 29, 2004 9:37 AM
To: [EMAIL PROTECTED]
Subject: [Nant-users] msi, components, and subdirs

My installation has the following directory hierarchy/structure:

<Main_Install_Folder>
        <Subdir />
        <Subdir />
        <Subdir />
                <Sub_SubDir />>
        <Subdir />
</Main_Install_Folder>

All files in all components saved to the Main_Install_Folder are added
to 
the MSI without a problem.

When the msi task hits one of the subdirectory components (with multiple

files to be included), only the first file is added, followed by this
error:

Unable to build MSI database 
'C:\earthit\users\quinby\SIS_build_0.85\install_test\sis-install-0.0.0.9
.msi
'.
     Object reference not set to an instance of an object.

If I comment out the offending subdir, the next subdir exhibits the same

behavior.

I was previously directed by Jim to look at the MSITask.xsd schema at
the 
following link:

http://cvs.sourceforge.net/viewcvs.py/nantcontrib/NAntContrib/src/Tasks/
Msi/
MsiTask.xsd?rev=1.7&view=auto

At the top of the page is mention of the keepsubdirs attribute -- I've 
incorporated this xsd into my implementation of nant and played around
with 
this attribute but am still getting this error.  Am I on the right track
here?

Excerpts of my components are as follows:

<component name="C_Main" id="{0E2DE7A7-6F89-4a99-9368-807676F920E4}" 
attr="2" directory="MAINFOLDER" feature="DefaultFeature"
keepsubdirs="true">
           <key file="SIS.exe" />
           <fileset basedir="${build.dir}">
                  <include name="SIS.exe" />
           </fileset>
</component>
<component name="C_Resources"
id="{A2BDA996-8440-49E7-A4F7-3AB254C98D2B}" 
attr="2" directory="SUBFOLDER" feature="DefaultFeature">
        <key file="crops.txt" />
           <fileset basedir="${build.dir}\resources">
                <include name="crops.txt" />
                <include name="divervehicles.txt" />
           </fileset>
</component>



-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click
_______________________________________________
Nant-users mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-users



-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click
_______________________________________________
Nant-users mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-users


-------------------------------------------------------
This SF.Net email is sponsored by OSTG. Have you noticed the changes on
Linux.com, ITManagersJournal and NewsForge in the past few weeks? Now,
one more big change to announce. We are now OSTG- Open Source Technology
Group. Come see the changes on the new OSTG site. www.ostg.com
_______________________________________________
Nant-users mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-users

Reply via email to