I'm indeed using the patch program that's included in cygwin, and I assume Ian and Scott use that one too ...
btw, I committed the patch you supplied ... Gert ----- Original Message ----- From: "James Geurts" <[EMAIL PROTECTED]> To: "'Scott Ford'" <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]> Sent: Thursday, October 30, 2003 6:52 PM Subject: RE: [NAntC-Dev] MSITask problem Cool, I'm glad it worked out for you. I've included the patches, so that someone can apply them, since I apparently can not. Ian or Scott, how do you apply patches from your machines? I'm using tortoiseCVS and apparently I'm missing how to actually apply the patch. Or do you have Cygwin installed and use the patch program included with that? Thanks Jim -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Scott Ford Sent: Thursday, October 30, 2003 9:46 AM To: James Geurts; [EMAIL PROTECTED] Subject: RE: [NAntC-Dev] MSITask problem James, Thanks a bunch. That was it! Project.BaseDirectory was starting with uppercase "C:\" but tempDir was starting with lowercase "c:\" so the call to StartsWith failed because it does a case sensitive compare. Here is the change. if (tempDir.ToLower().StartsWith(Project.BaseDirectory.ToLower())) { tempDir = tempDir.Substring(Project.BaseDirectory.Length+1); } Thanks, -Scott -----Original Message----- From: James Geurts [mailto:[EMAIL PROTECTED] Sent: Wednesday, October 29, 2003 8:08 PM To: Scott Ford; [EMAIL PROTECTED] Subject: RE: [NAntC-Dev] MSITask problem Hey Scott, Sorry for the delay in replying... my internet connection has been less than enjoyable lately. I changed some of the code for how the cab was created, but it was removed in version 1.28. At the time, it seemed as though the changes were fine, but they might be giving you some grief... A summary of the changes... Around line 2710, this was added: if (tempDir.StartsWith(Project.BaseDirectory)) { tempDir = tempDir.Substring(Project.BaseDirectory.Length+1); } And around line 2762, this was removed: string cabFile = Path.Combine(Project.BaseDirectory, Path.Combine(msi.sourcedir, Path.GetFileNameWithoutExtension(msi.output) + @".cab")); The diff, via SourceForge is available below, if you would like to see what was prior to the code change; it might help with your problem... http://cvs.sourceforge.net/viewcvs.py/nantcontrib/NAntContrib/src/Tasks/MSIT ask.cs?r1=1.27&r2=1.28 Another place that might be worth a look would be around line 2580 from http://cvs.sourceforge.net/viewcvs.py/nantcontrib/NAntContrib/src/Tasks/MSIT ask.cs?r1=1.26&r2=1.27 Jim -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Scott Ford Sent: Tuesday, October 28, 2003 4:53 PM To: [EMAIL PROTECTED] Subject: RE: [NAntC-Dev] MSITask problem I changed the directory as suggested and I still receive an error. I ran msival2 and it did not really find anything. I have attached the results. Since it seems there was confusion in my previous posts, I will reiterate my problem. I have used the copy task to assemble the installation directory as I would like it to be created on the user's system. The directory is located at c:\source\IntelliPlot\build\install. In this directory I have 15 .NET assemblies (1 exe and 14 dll's), and several other files. The .NET assemblies are being treated specially by the MSITask (I assume so that it can install them into the GAC). MSITask runs with no errors, but when I run the installation I receive the following error: "The file '_00E55971FB374BCBB52CE99046E47539' cannot be installed because the file cannot be found in the cabinet file 'IntelliPlot.cab'. This could indicate a network error, an error reading from the CD-ROM, or a problem with this package" I extracted the cabinet file and examined its contents. It is storing all of the files with path names. Extracting the files into a directory such as C:\temp, places the files in c:\temp\source\IntelliPlot\build\install\Temp. I created a new cabinet file that contains the files without path information, so that extracting all the files to c:\temp places the files in c:\temp. I then overwrote the cabinet file that MSITask created in the MSI with the one that I created. After doing this the installation, ran file. I did not receive the error mentioned above. I am very curious why I am the only person that has had this problem, since it seems like there are a fair number of people that use MSITask. I would be willing to try and track down what is wrong with MSITask, but I fear that without having any knowledge of it I will only produce a hack that will not be very useful to anyone else. I was hoping that someone that has worked on or with MSITask would be better suited to either fix the task so at least get me pointed in the right direction so that I can fix it myself. Thanks, -Scott -----Original Message----- From: Kræn Munck [mailto:[EMAIL PROTECTED] Sent: Friday, October 24, 2003 7:53 AM To: Scott Ford; [EMAIL PROTECTED] Subject: RE: [NAntC-Dev] MSITask problem Hi Scott, I'm not sure I understand your problem, but I have a couple of suggestions: 1. Set msi.sourcedir to one directory level above install.dir. The sourcedir will get cluttered by .cab files, .msi files and a Temp directory during the msi task process. 2. After creating an msi archive, test it using MsiVal2.exe from the Installer SDK (against the darice.cub tests). It has detected many problems for me as I was starting to use MSITask. Hope it helps, Kræn Munck > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On > Behalf Of Scott Ford > Sent: 22. oktober 2003 22:07 > To: [EMAIL PROTECTED] > Subject: [NAntC-Dev] MSITask problem > > > I sent this question to the nant-users list earlier today, > but I got no response. I will try again here. > > I am able to build an installer just fine with the MSI task, > but that installer will not run. I am storing several .NET > assemblies in the MSI, and the MSITask is generating a > separate component for each assembly. When I try to run the > installation I receive an error saying that a file for one of > the components is not installed. I opened up the MSI with > orca, but since I am not very familiar with MSI had no real > idea what I was looking at. > > Is there anyway to extract the cab file from the MSI so that > I can make sure that all the files are there? > > Below is the MSI section of my build file. > > Thanks, > -Scott > > <snip> > <target name="installer.build" description="Builds all of > the installations"> > <delete dir="${build.dir}\IntelliPlot\bin\${config.name}\setup" > failonerror="false" /> > <mkdir dir="${build.dir}\IntelliPlot\bin\${config.name}\setup" > failonerror="true" /> > <msi sourcedir="${install.dir}" > license="${install.dir}\License Agreement.rtf" > > output="${build.dir}\IntelliPlot\bin\${config.name}\setup\Inte > lliPlot.ms > i" debug="true" verbose="true"> > > <properties> > <property name="ProductName" value="IntelliPlot" /> > <property name="ProductVersion" value="1.3" /> > <property name="Manufacturer" value="RJK Technologies" /> > <property name="ProductCode" > value="{5CEBB262-405D-497C-8EB9-C9A0A33074EC}" /> > <property name="UpgradeCode" > value="{7B37BF89-1720-460A-B07E-80921DD98F65}" /> > </properties> > > <directories> > <directory name="HELPDIR" foldername="help" > root="TARGETDIR" /> > <directory name="SCRIPTSDIR" foldername="scripts" > root="TARGETDIR" /> > </directories> > > <features> > <feature name="DefaultFeature" title="IntelliPlot" > display="1" typical="true" > directory="TARGETDIR"> > > <description>IntelliPlot core files</description> > <feature name="HelpFeature" display="0" typical="true" /> > <feature name="ScriptsFeature" display="0" typical="true" /> > </feature> > </features> > > <components> > <component name="MainFiles" > id="{315C1672-D043-43cf-8BFB-EF59051241C2}" > attr="2" directory="TARGETDIR" feature="DefaultFeature"> > > <key file="LineStyles.xml" /> > <fileset basedir="${install.dir}"> > <includes name="*.*" /> > <excludes name="*.msi" /> > </fileset> > </component> > <component name="HelpFiles" > id="{C0A4BD40-3CA0-4b67-B6A0-5E8CB771DD87}" > attr="2" directory="HELPDIR" feature="HelpFeature"> > > <key file="IntelliPlot.chm" /> > <fileset basedir="${install.dir}\help"> > <includes name="*.*" /> > </fileset> > </component> > <component name="ScriptFiles" > id="{A12FDEBA-69D6-438f-BCE3-8A217DFDE4BF}" > attr="2" directory="SCRIPTSDIR" feature="ScriptsFeature"> > > <key file="sine.java" /> > <fileset basedir="${install.dir}\scripts"> > <includes name="*.*" /> > </fileset> > </component> > </components> > </msi> > </target> > </snip> > > > > ------------------------------------------------------- > This SF.net email is sponsored by OSDN developer relations > Here's your chance to show off your extensive product > knowledge We want to know what you know. Tell us and you have > a chance to win $100 > http://www.zoomerang.com/survey.zgi?> HRPT1X3RYQNC5V4MLNSV3E54 > > > _______________________________________________ > NAntContrib-Developer mailing list > [EMAIL PROTECTED] > https://lists.sourceforge.net/lists/listinfo/nantcontrib-developer > ------------------------------------------------------- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ _______________________________________________ NAntContrib-Developer mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nantcontrib-developer ------------------------------------------------------- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ _______________________________________________ NAntContrib-Developer mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nantcontrib-developer