Re: [NAnt-users] msi task - 'cabarc' failed to start

2009-01-30 Thread William_Martin
Don't know if this helps Beth, but I wrote an install for Nant so
developers can install it to their machines (mostly because we have some
custom tasks etc) but because our build scripts also create installers, I
included cabarc.exe and cabinet.dll in the install.  These are installed
to the Nant\bin folder, and the MSI task runs fine with just these
installed on a dev machine (no need for the SDK)

 

You might want to give it a go and see if it helps.

 

Cheers,

 

Bill

 

 

  _  

From: Beth Hechanova [mailto:bhechan...@imsco-us.com] 
Sent: 29 January 2009 20:00
To: nant-users@lists.sourceforge.net
Subject: Re: [NAnt-users] msi task - 'cabarc' failed to start

 

Gert,

I tried executing cabarc from my build file - that works (at least I get a
.cab file - I'm not sure how the msi file gets generated.)

Executing the msi block gives the same error (pasted again below).

Here's the Distribute target I currently have (with the exec to cabarc
directly):

   target name=Distribute description=create installer

!--echoPath: ${environment::get-variable('PATH')}/echo --

msi verbose=true sourcedir=${BuildAreaPublish}\*
output=${BuildAreaDistribute}\ContentManagementTool.msi / 

  exec verbose=true program=cabarc 

  arg value=-r /

  arg value=N /

  arg value=${BuildAreaDistribute}/ContentManagementTool.cab /

  arg value=${BuildAreaPublish}\* /

/exec

  /target

Thanks for your help,

Beth

Target(s) specified: Distribute

Distribute:

  [msi] Building Installer Database
'C:/BuildArea/ContentManagementTool/Distribute\ContentManagementTool.msi'.

  [msi] Compressing Files...

 [exec] Starting 'cabarc (-r N \ContentManagementTool.cab
*)' in 'C:\Documents and Settings\BHechanova.IMS\Local Settings\Te

mp\tmp429.tmp'

BUILD FAILED

C:\content\ContentTrunk\ContentManagementTool\src\ContentManagementTool.bu
ild(179,6):

Unable to build Installer database
'C:/BuildArea/ContentManagementTool/Distribute\ContentManagementTool.msi'.

 
C:\content\ContentTrunk\ContentManagementTool\src\ContentManagementTool.bu
ild(179,6):

Error creating cab file.

'cabarc' failed to start.

The directory name is invalid

Total time: 1.1 seconds.

Re: [NAnt-users] msi task - 'cabarc' failed to start

Gert Driesen
Thu, 29 Jan 2009 09:41:45 -0800

Beth,

 

 No, that should do it.

 

 

Can you try just executing cabarc from within your build file first?

 

 

For example:

 

exec program=cabarc /

 

 

Gert

 

 

 

 

This email and any files transmitted with it are confidential 
proprietary to Systems and Software Enterprises, Inc. (dba IMS). This
information is intended solely for the use of the individual or entity to
which it is addressed. Access or transmittal of the information contained
in this e-mail, in full or in part, to any other organization or persons
is not authorized. 



__
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email 
__

 

IMPORTANT 
The information contained in this e-mail and any attachments is intended for 
the addressee only
and may contain legally privileged or confidential information. If you are not 
the intended
recipient you must not use, disclose, copy, distribute, alter, or take any 
action in reliance
on the information and Avon Insurance plc will not accept liability for any 
loss or damage howsoever
arising, directly or indirectly in reliance on it and gives no warranty or 
representation as to its
accuracy or reliability. If you are not the addressee, please notify us 
immediately on 01789 202121*
and delete the material from your computer and destroy any copies.

Avon Insurance plc reserves the right to monitor and record incoming and 
outgoing email messages for
the purposes of investigating or detecting unauthorised use of its system and 
ensuring its effective operation.
Avon Insurance plc will not accept liability for any loss or damage as a result 
of any virus being passed on.

Avon Insurance plc (No. 209606).
Registered in England.
Registered Office: Tiddington Road, Stratford-upon-Avon, Warwickshire CV37 7BJ.
Authorised and regulated by the Financial Services Authority.
A member of the NFU Mutual group of companies and the Association of British 
Insurers.
For security and training purposes telephone calls may be recorded and 
monitored.

__
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email 
__--
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your 

Re: [NAnt-users] msi task - 'cabarc' failed to start

2009-01-30 Thread Beth Hechanova
I manually copied cabarc.exe and cabinet.dll to my NAnt\bin directory
and that had no effect.  Does your install set any env/registry
variables with respect to the cab sdk?

Are you using NAnt 0.86 (Build 0.86.2898.0; beta1; 12/8/2007)?

Thanks, Beth

Re: [NAnt-users] msi task - 'cabarc' failed to start

William_Martin
Fri, 30 Jan 2009 01:34:03 -0800

Don't know if this helps Beth, but I wrote an install for Nant so

developers can install it to their machines (mostly because we have some

custom tasks etc) but because our build scripts also create installers,
I

included cabarc.exe and cabinet.dll in the install.  These are installed

to the Nant\bin folder, and the MSI task runs fine with just these

installed on a dev machine (no need for the SDK)

 

 You might want to give it a go and see if it helps.

 

Cheers,

Bill

 

 


---
This email and any files transmitted with it are confidential  proprietary 
to Systems and Software Enterprises, Inc. (dba IMS).  This information is 
intended solely for the use of the individual or entity to which it is 
addressed. Access or transmittal of the information contained in this e-mail, 
in full or in part, to any other organization or persons is not authorized.
---

--
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword___
NAnt-users mailing list
NAnt-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nant-users


Re: [NAnt-users] NAnt Fix for .NET 3.5 Compiling Without Visual Studio

2009-01-30 Thread Gert Driesen
Hi Ben,

 

This issue is already fixed in CVS, and will be part of the next drop.

 

Gert

 

From: Ben Floyd [mailto:datap...@gmail.com] 
Sent: donderdag 29 januari 2009 23:46
To: nant-users@lists.sourceforge.net
Subject: [NAnt-users] NAnt Fix for .NET 3.5 Compiling Without Visual Studio

 

I recently had the problem that I created a build server that did not have
Visual Studio installed and I needed to compile .NET 3.5 code. I figured out
that NAnt 0.86 beta 1 was looking for registry keys in the
HKLM\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v6.0a\WinSDKNetFxTools hive.
To fix this I installed the Windows Server 2008 and .NET 3.5 SDK, which
creates the registry keys at HKLM\SOFTWARE\Microsoft\Microsoft
SDKs\Windows\v6.1\WinSDKNetFxTools.

To get NAnt to recognize the installed SDK I added the following registry
keys:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v6.0a]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft
SDKs\Windows\v6.0a\WinSDKNetFxTools]
InstallationFolder=C:\\Program Files\\Microsoft SDKs\\Windows\\v6.1\\
ProductVersion=6.1

It basically points the v6.0 SDK to the v6.1 one that is installed. From
there, NAnt can find the tools necessary to compile .NET 3.5 code without
having Visual Studio installed. I'm not sure there is anything that the NAnt
dev team could do about this because they don't actively modify the
environment to detect installed SDKs.

If anyone has a suggestion on how to get this check into the trunk for NAnt
please let the dev team know! I've written a blog post about this as well at
http://dataplex.org/blog/2009/01/fixing-nant-086-beta-1-for-net-35-continuou
s-integration/

Thanks,
Ben Floyd

No virus found in this incoming message.
Checked by AVG - http://www.avg.com
Version: 8.0.176 / Virus Database: 270.10.15/1923 - Release Date: 1/29/2009
7:13 AM

--
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword___
NAnt-users mailing list
NAnt-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nant-users


Re: [NAnt-users] Navigating XML documents ...

2009-01-30 Thread Parrish, Ken
Mike,

Thanks so much for your feedback.  I used your suggestion with a little
wrinkle.  Instead of creating unique names for each node in the Xml
file, I gave each node an attribute with a unique ID.  That way, the
file can still be parsed by other Xml parsers without confusion.  This
is what I came up with:

Sample XML file:

?xml version=1.0?
DirDiff
  FileDirItems
FileDirItem Id=1 Type=File Status=Modified
Path=DNSLookup.asp /
FileDirItem Id=2 Type=File Status=Modified
Path=encryption.asp /
FileDirItem Id=3 Type=File Status=Modified Path=err404.asp
/
FileDirItem Id=4 Type=File Status=Modified Path=error.asp
/
FileDirItem Id=5 Type=File Status=Modified Path=error.aspx
/
FileDirItem Id=6 Type=File Status=Modified
Path=errorauth.aspx /
FileDirItem Id=7 Type=File Status=Added Path=genericPub.asp
/
FileDirItem Id=8 Type=File Status=Added
Path=getchart_id.asp /
FileDirItem Id=9 Type=File Status=Added
Path=glossary_windoid.asp /
  /FileDirItems
/DirDiff

Nant task code:

target name=default 
property name=fileName value=ChangeList.xml /
xmllist file=${fileName}
xpath=/DirDiff/FileDirItems/FileDirItem/@Id property=idList /

foreach item=String delim=, in=${idList}
property=itemId 

xmllist file=${fileName}
xpath=/DirDiff/FileDirItems/FileDirItem [...@id='${itemId}']/@Path
property=filePath /
xmllist file=${fileName}
xpath=/DirDiff/FileDirItems/FileDirItem [...@id='${itemId}']/@Status
property=fileStatus /

echo message=itemId = ${itemId}, filePath =
${filePath}, fileStatus = ${fileStatus} /

!-- Now, do the work  --
/foreach
/target


Much appreciated.

Ken Parrish
Gomez, Inc.


_


-Original Message-
From: Mike Frederick [mailto:mikeyf...@att.net] 
Sent: Thursday, January 29, 2009 12:33 PM
To: nant-users@lists.sourceforge.net
Subject: [NAnt-users] Navigating XML documents ...

It is a little painful, but it is possible.  The idea is to be able to 
address each FileItem node individually.  If each Path property is 
unique across all of the FileItem nodes, then you can use that property 
to pick-out each FileItem node:

project name=Ken default=go
property name=XMLFile value=Ken.xml/
property name=xpath value=/MyFileList/FileItems/FileItem/
target name=go
xmllist file=${XMLFile} xpath=${xpath}/@Path 
property=pathlist/
foreach item=String delim=, in=${pathlist}
property=path
echoFile: ${path}/echo
xmllist file=${XMLFile} xpath=${xpath} 
[...@path='${path}']/@Status property=status/
xmllist file=${XMLFile} xpath=${xpath} 
[...@path='${path}']/@Mode property=mode/
echo  status: ${status}, mode: ${mode}/echo
echo /
/foreach
/target
/project

Since you have gotten this far, I will mention that I tend to address 
this situation by creating nodename that are unique, such as:

?xml version=1.0?
MyFileList
summary
/summary
FileItems
File01 Path=file01.txt Status=good Mode=ok /
File02 Path=file02.txt Status=bad Mode= ok /
File03 Path=file03.txt Status=good Mode=notok/
File04 Path=file04.txt Status=ignore Mode=ok /
File05 Path=file05.txt Status=bad Mode=ok /
/FileItems
/MyFileList

which is ugly from a schema perspective, but I have a mod to xmllist 
that allows me to do:

project name=Ken default=go
property name=XMLFile value=Ken.xml/
property name=xpath value=/MyFileList/FileItems/
target name=go
xmllist file=${XMLFile} xpath=${xpath}/*
property=filelist/
foreach item=String delim=, in=${filelist} 
property=fileitem
xmllist file=${XMLFile} 
xpath=${xpath}/${fileitem}/@Path property=path/
xmllist file=${XMLFile} 
xpath=${xpath}/${fileitem}/@Status property=status/
xmllist file=${XMLFile} 
xpath=${xpath}/${fileitem}/@Mode property=mode/
echoFile: ${path}/echo
echo  status: ${status}, mode: ${mode}/echo
echo /
/foreach
/target
/project

which I like a lot better from a programming perspective.  The mod I 
made was to allow a file nodename to be a *, which is interpreted as 
return a list of all child nodenames.

The idea is to
 Thanks for the reference to xmllist.  I have built this code into my
 standard extension DLL and it seems to be working as advertised.

 However, there is a part of the problem that I have yet to find a good
 solution.  In the example below, I can generate a list of all the
'Path'
 attributes, or all the 'Status' attributes.  However, there is no
 practical way (that I can think of) to iterate over these two lists
 simultaneously.  

 What I really need is to 'fetch' each FileItem node, one at a time,
 then gather the various attributes set for that node.  Then, iterate
to
 the next FileItem node in the 

[NAnt-users] Configurating NAnt

2009-01-30 Thread David Peterson
I am in the process of setting up my TDD and CI environment. I'm running 
VS2008, and a couple of other programs to get me started, they are NUnit and 
CruiseControl.Net. I am trying to configure NAnt to automate my solutions with 
a build file and running it from a batch file, this is what i did;... I added 
another directory to my trunk folder called build. In the build directory, I 
was instructed to keep my NAnt .build file (the XML configuration file that 
tells NAnt what to do), my batch files, results from the build process, and 
everything to do with the build process in it. so I created the build file. and 
call it Goodstart.build. I opend that file up and added some basic XML so that 
NAnt can do what it do. Then I put my schema file (nant.xsd) that was in the 
inital download in program files | Microsoft Visual Studio 9 | xml | schemas, 
so that Visual Studio intellisense could help guide me through all the various 
options of NAnt. I wrote my code in
 the Goodstart.build. I didn't want to manually type the commands in NAnt. I 
didn't want to have to do any manual tasks. So what I did was automate 
the (batch file) then went with automation (NAnt build files) to avoid any 
manual labour. So like I stated earlier in this paragraph. In my build 
directory I added two more files. The first file was build.bat file, which was 
the base batch file and then I created a clickToBuild.bat file which 
was created to pass parameters to my build.bat file. In the build.bat file I 
put this line of code ...\binaries\nant\nant.exe -buildfile:Goodstart.build %*  
then in the clickToBuild.bat I put this command build.bat compile  pause  then 
i clicked on my clickToBuild.bat file and I was expecting to see somethings 
compiling and BUILD SUCCEEDED but I didn't see that. Instead I saw 
C:\Projects\Goodstart\trunk\build.bat compile  pause 'build.bat' is not 
recognized as an internal or external command, operable program or
 batch file. How can I get this kink worked out and fix this problem 


  --
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword___
NAnt-users mailing list
NAnt-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nant-users


Re: [NAnt-users] msi task - 'cabarc' failed to start

2009-01-30 Thread Bill Martin
Unfortunately, I'm not back in work until Monday, and I haven't got the
source to the msi script at home, but I'm pretty sure the only thing it
configures on the client machine it to put the NAnt\bin folder in the path.
Do you have this?

 

I'll double check when I get in on Monday.

 

Cheers,

Bill

 

 

  _  

From: Beth Hechanova [mailto:bhechan...@imsco-us.com] 
Sent: 30 January 2009 16:09
To: nant-users@lists.sourceforge.net
Subject: Re: [NAnt-users] msi task - 'cabarc' failed to start

 

I manually copied cabarc.exe and cabinet.dll to my NAnt\bin directory and
that had no effect.  Does your install set any env/registry variables with
respect to the cab sdk?

Are you using NAnt 0.86 (Build 0.86.2898.0; beta1; 12/8/2007)?

Thanks, Beth

Re: [NAnt-users] msi task - 'cabarc' failed to start

William_Martin
Fri, 30 Jan 2009 01:34:03 -0800

Don't know if this helps Beth, but I wrote an install for Nant so

developers can install it to their machines (mostly because we have some

custom tasks etc) but because our build scripts also create installers, I

included cabarc.exe and cabinet.dll in the install.  These are installed

to the Nant\bin folder, and the MSI task runs fine with just these

installed on a dev machine (no need for the SDK)

 

 You might want to give it a go and see if it helps.

 

Cheers,

Bill

 

 

 

This email and any files transmitted with it are confidential  proprietary
to Systems and Software Enterprises, Inc. (dba IMS). This information is
intended solely for the use of the individual or entity to which it is
addressed. Access or transmittal of the information contained in this
e-mail, in full or in part, to any other organization or persons is not
authorized. 

 

--
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword___
NAnt-users mailing list
NAnt-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nant-users


[NAnt-users] parsing version string

2009-01-30 Thread Beth Hechanova
Hi,

 

I'm trying to parse my version property to get the individual elements
(major, minor, iteration, ...).  My end goal is to take the information
in the version in a format of 1.2.3.4 and turn it into a string that
looks like 010203 (takes each of the major, minor, iteration and
pad-lefts to a length of 2 with the zero char).

 

I have a property called ${version} in the format of 1.2.3.4.  I've been
trying to use the version::get_major() function, but I must be using it
wrong as I can't seem to extract the major number from the version.  I'm
trying to create another property:

   property name=partNumberMajor
value=version::get_major(${version}) /

echomajor is ${partNumberMajor}/echo

 

And all I get back is  [echo] major is
version::get_major(1.0.1.34}

 

Then I found the version::parse() function and thought maybe I should be
using that to parse create a Version to pass to get_major().  That did
not seem to work either, even if I hard coded a string for my version:

echomajor version is
version::get_major(version::parse(1.2.3.4))/echo

 

Am I using these functions incorrectly?

Thanks,

Beth

--
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword___
NAnt-users mailing list
NAnt-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nant-users