My build file is over 1300 lines of code so I'd rather not include the whole thing here.
I put together an excerpt of my msi task that generates the same problem:
<target name="install" description="Build MSI install package">
<msi output="${dir.install.output}\sis-install-${project.version}.msi" sourcedir="daily\Latest\release" banner="${addin.dir}\sti_install_logo.bmp" background="${addin.dir}\sti_install_logo_background.bmp" license="${addin.dir}\license.rtf" debug="true" verbose="true">
<properties>
<property name="ProductName" value="${ProductName}" />
<property name="ProductVersion" value="${ProductVersion}" />
<property name="Manufacturer" value="${Manufacturer}" />
<property name="ProductCode" value="${ProductCode}" />
<property name="ALLUSERS" value="2" />
</properties>
<directories>
<directory name="D__SISINSTALL" foldername="SIS" root="ProgramFilesFolder">
<directory name="D__CONFIG" foldername="config" />
<directory name="D__ADDINS" foldername="addins" />
</directory>
</directories>
<components>
<component name="C__Properties" id="{AFCCE4CE-6FDB-4743-AB4F-015C7BCEEEE6}" attr="2" directory="D__SISINSTALL" feature="DefaultFeature">
<key file="Earthit.SIS.Properties.dll" />
<fileset basedir="${build.dir}">
<include name="Earthit.SIS.Properties.dll" />
</fileset>
</component>
<component name="C__Main" id="{0E2DE7A7-6F89-4A99-9368-807676F920E4}" attr="2" directory="D__SISINSTALL" feature="DefaultFeature">
<key file="SIS.exe" />
<fileset basedir="${build.dir}">
<include name="SIS.exe" />
</fileset>
</component>
<component name="C__Config" id="{AAD40C92-3271-44d8-95DB-097E33AC586B}" attr="2" directory="D__CONFIG" feature="DefaultFeature">
<key file="Diver.bmp" />
<fileset basedir="${build.dir}\config">
<include name="*.*" />
</fileset>
</component>
</components>
<features>
<feature name="DefaultFeature" title="" display="1" typical="true">
<description />
</feature>
</features>
</msi>
</target>
The output from executing this is as follows:
NAnt 0.85 (Build 0.85.1670.0; net-1.1.win32; nightly; 7/28/2004) Copyright (C) 2001-2004 Gerry Shaw http://nant.sourceforge.net
Buildfile: file:///c:/earthit/users/quinby/SIS_build_0.85/Master.build Target(s) specified: installtest
installtest:
install:
[msi] Building MSI Database 'C:\earthit\users\quinby\SIS_build_0.85\install_test\sis-install-0.0.0.9.msi'.
[msi] Adding Properties:
[msi] ProductName
[msi] ProductVersion
[msi] Manufacturer
[msi] ProductCode
[msi] ALLUSERS
[msi] Adding Directories:
[msi] SIS
[msi] SIS\config
[msi] SIS\addins
[msi] SIS
[msi] Add Files:
[msi] C:\earthit\users\quinby\SIS_build_0.85\install_test\SIS\Earthit.SIS.Properties.dll
[msi] C:\earthit\users\quinby\SIS_build_0.85\install_test\SIS\SIS.exe
[msi] C:\earthit\users\quinby\SIS_build_0.85\install_test\SIS\config\DataMgmt.gif
failure:
Build failed
c:\earthit\users\quinby\SIS_build_0.85\Master.build(837,6):
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.
Total time: 1.3 seconds.
The config subdirectory has 7 files (bmp, gif, and xml) and DataMgmt.gif just happens to be the first one alphabetically.
Once again, thanks in advance for your input. It's probably a pretty simple issue.
Ted
At 10:14 AM 7/29/2004, James Geurts wrote:
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 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