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

Reply via email to