Thanks James

That works. I was running an earlier version of Nant, 0.83, which might have
been the source of my problems. Everything seems to work now after, I
installed Nant 0.84, and the cabsdk.

Many thanks for the help. 
Sam

> -----Original Message-----
> From: James Geurts [mailto:[EMAIL PROTECTED] 
> Sent: 21 January 2004 18:32
> To: 'Sam Akiwumi'; [EMAIL PROTECTED]
> Subject: RE: [NAntC-Dev] MSITask usage and documentation
> 
> 
> I've zipped up a mock directory structure with the necessary 
> files.  I used NAnt 0.84 and NAntContrib 0.84 to create the 
> msi.  After creating the msi file (exists in 
> C:\MyProjects\Kensington\TestSolution, it installed properly. 
>  This is my output:
> 
> C:\MyProjects\Kensington\TestSolution>nant
> NAnt 0.84 (Build 0.84.1455.0; net-1.0.win32; release; 
> 12/26/2003) Copyright (C) 2001-2003 Gerry Shaw 
> http://nant.sourceforge.net
> 
> Buildfile: 
> file:///C:/MyProjects/Kensington/TestSolution/Kensington_update.build
> 
> Target(s) specified: msi
> 
> msi:
> 
>       [msi] Building MSI Database 'Kensington.msi'.
>       [msi] Storing Banner:
>         C:\MyProjects\Kensington\TestSolution\Kensington\Bliss.bmp
>       [msi] Storing Background:
>         C:\MyProjects\Kensington\TestSolution\Kensington\BG.bmp
>       [msi] Storing License:
>         C:\MyProjects\Kensington\TestSolution\Kensington\license.rtf
>       [msi] Adding Properties:
>         ProductName
>         ProductVersion
>         Manufacturer
>         ProductCode
>         UpgradeCode
>       [msi] Adding Directories:
>         C:\MyProjects\Kensington\TestSolution\Kensington
>       [msi] Add Files:
>         
> C:\MyProjects\Kensington\TestSolution\Kensington\Kensington.dll
>       [msi] Adding Features:
>         DefaultFeature
>       [msi] Compressing Files...
> Done.
>       [msi] Storing Cabinet in MSI Database...
>       [msi] Saving MSI Database...
> 
> BUILD SUCCEEDED
> 
> Total time: 2.2 seconds.
> 
> 
> C:\MyProjects\Kensington\TestSolution>
> 
> 
> 
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On 
> Behalf Of Sam Akiwumi
> Sent: Wednesday, January 21, 2004 12:55 PM
> To: James Geurts; Sam Akiwumi; 
> [EMAIL PROTECTED]
> Subject: RE: [NAntC-Dev] MSITask usage and documentation
> 
> Thanks Jim for your reply.
> 
> I've just tried the build file u sent (saved in the right 
> location) and get the same error. An msi is created that 
> gives this message 'Could not access network location {Put 
> Package Code GUID here}'.
> 
> Do I need to add another property? What does network location 
> refer to?
> 
> Thanks
> Sam
> 
> > -----Original Message-----
> > From: James Geurts [mailto:[EMAIL PROTECTED]
> > Sent: 21 January 2004 17:26
> > To: 'Sam Akiwumi'; [EMAIL PROTECTED]
> > Subject: RE: [NAntC-Dev] MSITask usage and documentation
> > 
> > 
> > Hey Sam,
> > 
> > I found a couple things that should be changed in your build file.
> > 
> > You should specify GUIDs to define the ProductCode and
> > UpgradeCode properties.  The ProductCode is used to 
> > distinguish different versions and languages of products.  
> > The UpgradeCode is a GUID representing a related set of 
> > products.  So, say that you have Kensington v1.0.0 with 
> > Product Code {3057D982-F7E4-4243-803E-04E943285B62} and 
> > Upgrade Code {15F29190-CA8A-4398-94B9-477C46212E94}, 
> > Kensington v1.1.0 might have Product Code 
> > {FCF4EE6B-F849-4b47-9FA3-E4739C8CA95C} and UpgradeCode 
> > {15F29190-CA8A-4398-94B9-477C46212E94}.  When setup is run, 
> > it uses the ProductVersion property to then determine if an 
> > upgrade is required or not.
> > 
> > With that said, you should change the value of the
> > kensington.version property to follow the format 
> > major.minor.build per Microsoft's specification of the 
> > ProductVersion property.
> > 
> > It seems that the root attribute specified for the directory
> > is bad.  You should change it to a supported directory.  This 
> > is a list of supported root directories with the default msi 
> > template provided with NAntContrib:
> > 
> > TARGETDIR
> > ProgramFilesFolder
> > AppDataFolder
> > DesktopFolder
> > ProgramMenuFolder
> > StartMenuFolder
> > StartupFolder
> > AdminToolsFolder
> > CommonAppDataFolder
> > CommonFiles64Folder
> > CommonFilesFolder
> > FavoritesFolder
> > FontsFolder
> > LocalAppDataFolder
> > MyPicturesFolder
> > PersonalFolder
> > ProgramFiles64Folder
> > SendToFolder
> > System16Folder
> > System64Folder
> > SystemFolder
> > TempFolder
> > TemplateFolder
> > WindowsFolder
> > WindowsVolume
> > 
> > Also, one thing to keep in mind with regard to directories is
> > that the MSI/MSM tasks expect that the directories exist 
> > relative to where the build file is.  So, for your example, 
> > if your build file exists in 
> > C:\MyProjects\Kensington\TestSolution, then there should be a 
> > subdirectory Kensington from the TestSolution folder.  The 
> > other result of this is that when you specify a basedir from 
> > the fileset, the task ignores that and expects the files to 
> > exist in a directory structure relative to where the build 
> > file is being executed.  So, it is looking for Kensington.dll 
> > in C:\MyProjects\Kensington\TestSolution\Kensington rather 
> > than C:\MyProjects\Kensington\TestSolution\Kensington\bin\Release
> > 
> > The key file assigned to a component should be a file within
> > that component's fileset.  So for the component 
> > "KensingtonFiles" the keyfile should be "Kensignton.dll"
> > 
> > I have included the changes that I made.  If you have further
> > questions, please don't hesitate to ask.
> > 
> > Jim
> > 
> > P.s. The bug with the fileset is on my TODO list, so once
> > Kraen submits his changes, I'll have a look at that.
> > 
> > 
> > ________________________________________
> > From: Sam Akiwumi [mailto:[EMAIL PROTECTED]
> > Sent: Wednesday, January 21, 2004 9:29 AM
> > To: James Geurts; Sam Akiwumi; 
> > [EMAIL PROTECTED]
> > Subject: RE: [NAntC-Dev] MSITask usage and documentation
> > 
> > Thanks James
> >  
> > I've managed to cobble together a build file using the
> > nantcontrib as the example. However I think I might have 
> > missed something, because I get the error below when I run 
> > the build (file attached). Any pointers in the right 
> > direction are appreciated. 
> >  
> > Buildfile: file:///C:/MyProjects/Kensington/Kensington.build
> >  
> > msi:
> >  
> >       [msi] Building MSI Database "Kensington.msi".
> >       [msi] Storing Banner:
> >         C:\MyProjects\Kensington\TestSolution\Kensington\Bliss.bmp
> >       [msi] Storing Background:
> >         C:\MyProjects\Kensington\TestSolution\Kensington\Bliss.bmp
> >       [msi] Storing License:
> >         C:\MyProjects\Kensington\TestSolution\Kensington\license.rtf
> >       [msi] Adding Properties:
> >         ProductName
> >         ProductVersion
> >         Manufacturer
> >         ProductCode
> >         UpgradeCode
> >       [msi] Adding Directories:
> >         C:\MyProjects\Kensington\TestSolution\Kensington
> >       [msi] Add Files:
> > Total time: 1 seconds.
> >  
> > BUILD FAILED
> >  
> >       [msi] ERROR: System.NullReferenceException thrown: Object 
> > reference not set to an instance of an object.
> >    at NAnt.Core.DataTypeBase.InitializeElement(XmlNode elementNode)
> >    at NAnt.Core.Types.FileSet.InitializeElement(XmlNode elementNode)
> >    at NAnt.Core.Element.Initialize(XmlNode elementNode)
> >    at NAnt.Contrib.Tasks.MSITask.AddFiles(Database Database,
> > View DirectoryView, MSIComponent Compon ent, View FileView, 
> > Type InstallerType, Object InstallerObject, String 
> > ComponentDirectory, String Co mponentName, Int32& 
> > ComponentCount, Int32& Sequence, View MsiAssemblyView, View 
> > MsiAssemblyNameView,
> >  View ComponentView, View FeatureComponentView, View 
> > ClassView, View ProgIdView, View SelfRegView)
> >    at NAnt.Contrib.Tasks.MSITask.LoadComponents(Database 
> > Database, Type InstallerType, Object Instal lerObject, Int32& 
> > LastSequence, View MsiAssemblyView, View MsiAssemblyNameView, 
> > View DirectoryView, View ClassView, View ProgIdView)
> >    at NAnt.Contrib.Tasks.MSITask.ExecuteTask()
> > 
> 
> 
> -------------------------------------------------------
> The SF.Net email is sponsored by EclipseCon 2004
> Premiere Conference on Open Tools Development and Integration 
> See the breadth of Eclipse activity. February 3-5 in Anaheim, 
> CA. http://www.eclipsecon.org/osdn 
> _______________________________________________
> NAntContrib-Developer mailing list 
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/nantcontrib-developer
> 


-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
_______________________________________________
NAntContrib-Developer mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nantcontrib-developer

Reply via email to