Thanks Gavin,
I think I'm very close. It still builds my .msi, but I can't get the
CustomOutput argument to work. I haven't worked with msbuild project
files before so I'm sure my code is wrong. Maybe you can easily see what
I'm doing wrong.
Nant Code:
<exec
program="${framework::get-framework-directory(framework::get-target-fram
ework())}\msbuild.exe" resultproperty="msbuild.result"
failonerror="true">
<arg value="${wix.work.dir}\SuiteSetup.wixproj"/>
<arg value="/nologo"/>
<arg value="/noconsolelogger"/>
<arg value="/target:Build"/>
<arg
value="/property:SolutionDir=${project::get-base-directory()}\\"/>
<arg value="/property:CustomOutputPath=${wix.release.dir}"/>
<arg
value="/property:CustomOutputName=${wix.release.dir}\Setup_${project.ver
sion}.msi"/>
</exec>
Project File:
<Project DefaultTargets="Build"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == ''
">Debug</Configuration>
<ProductVersion>3.0</ProductVersion>
<ProjectGuid>{2891ae0b-bf21-405f-b3af-87075ee2f574}</ProjectGuid>
<SchemaVersion>2.0</SchemaVersion>
<OutputName>SuiteSetup</OutputName>
<OutputType>Package</OutputType>
<WixTargetsPath Condition=" '$(WixTargetsPath)' == ''
">$(MSBuildExtensionsPath)\Microsoft\WiX\v3.0\Wix.targets</WixTargetsPat
h>
<WixToolPath>$(ProgramFiles)\Windows Installer XML
v3\bin\</WixToolPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<OutputPath>bin\Debug\</OutputPath>
<IntermediateOutputPath>obj\Debug\</IntermediateOutputPath>
<CustomOutputPath>$(CustomOutputPath)</CustomOutputPath>
<DefineConstants>Debug</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<OutputPath>bin\Release\</OutputPath>
<IntermediateOutputPath>obj\Release\</IntermediateOutputPath>
<CustomOutputPath>$(CustomOutputPath)</CustomOutputPath>
</PropertyGroup>
<ItemGroup>
<Compile Include="SuiteSetup.wxs" />
</ItemGroup>
<ItemGroup>
<WixExtension Include="C:\Program Files (x86)\Windows Installer XML
v3\bin\WixSqlExtension.dll" />
<WixExtension Include="C:\Program Files (x86)\Windows Installer XML
v3\bin\WixUIExtension.dll" />
<WixExtension Include="C:\Program Files (x86)\Windows Installer XML
v3\bin\WixUtilExtension.dll" />
</ItemGroup>
<Import Project="$(WixTargetsPath)" />
</Project>
Eric Latendresse
-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Gavin Bee
Sent: Wednesday, July 23, 2008 2:54 PM
To: 'General discussion for Windows Installer XML toolset.'
Subject: Re: [WiX-users] Build Fails with NAnt. The format ofthefile
'NAntTasks.dll' is invalid.
Sounds like you need to pass the desired output path to msbuild from
nant.
You can use the /property command line argument to msbuild.exe to pass
property values from NAnt into MSBUILD.
We use the a NAnt exec task that looks something like the following:
<exec
program="${framework::get-framework-directory(framework::get-target-fram
ewor
k())}\msbuild.exe" resultproperty="msbuild.result" failonerror="false">
<arg value="${product.sln}"/>
<arg value="/nologo"/>
<arg value="/noconsolelogger"/>
<arg value="/target:Build"/>
<arg
value="/property:SolutionDir=${project::get-base-directory()}\\"/>
<arg value="/logger:Kobush.Build.Logging.XmlLogger,${
XmlLogger4MSBuild.directory}\bin\Release\Kobush.Build.dll;${compile.log.
xml}
"/>
</exec>
You could just add another argument to the list of args
<arg value="/property:CustomOutputPath=your output path"/>
<arg value="/property:CustomOutputName=your output file name"/>
You will then have to update your wixproj file to use these property
values
to populate OutputPath and OutputName as appropriate.
Hope that helps,
Gavin :)
-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Eric
Latendresse
Sent: Wednesday, July 23, 2008 2:50 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Build Fails with NAnt. The format of thefile
'NAntTasks.dll' is invalid.
Great, that worked. I was able to build my installer using my NAnt build
file. However. I need to specify an output path every time the .msi gets
built. Right now the output path is what is set in the protect
properties. The reason I need to separate the build versions is that
ultimately I need to look at the different versions to create patches.
Can you recommend a way to do this with the msbuild command?
Eric Latendresse
-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Neil Enns
Sent: Tuesday, July 22, 2008 5:01 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Build Fails with NAnt. The format of thefile
'NAntTasks.dll' is invalid.
One option to consider is using the shipping MSBuild .targets file that
has a complete build process for WiX in conjunction with NAnt. Trying to
re-construct a build process using individual tasks is often fraught
with peril, and using the one that ships with WiX is almost always a
better idea.
You would create a .wixproj that uses the MSBuild process for building
WiX (a quick way to do this is to create a WiX project in Visual
Studio), and then in your nant build script just do <msbuild
project="myinstaller.wixproj">. You'll get our well-tested and supported
build process for free, yet still be able to use nant as your overall
build driver.
Neil
-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Eric
Latendresse
Sent: Tuesday, July 22, 2008 2:36 PM
To: [email protected]
Subject: [WiX-users] Build Fails with NAnt. The format of the file
'NAntTasks.dll' is invalid.
I am using NAnt to build my WiX project. Here is the code:
<target name="CreateSetupPackageUsingWiX" description="Create the
installer package using WiX Script">
<mkdir dir="${wix.release.dir}"/>
<loadtasks
assembly="${wix.work.dir}/Microsoft.Tools.WindowsInstallerXml.NAntTasks.
dll"/>
<candle out="${wix.work.dir}\" cultures="en-us"
extensions="WixUtilExtension;WixWixSqlExtension;WixUIExtension"
exedir="${wix.dir}\" rebuild="true">
<sources>
<include name="SuiteSetup.wxs" />
</sources>
</candle>
<light out="${wix.release.dir}/SuiteSetup.msi" cultures="en-us"
extensions="WixUtilExtension;WixWixSqlExtension;WixUIExtension"
exedir="${wix.dir}\" rebuild="true">
<sources>
<include name="SuiteSetup.wixobj" />
</sources>
</light>
</target>
Here is the error I am getting:
BUILD FAILED - 1 non-fatal error(s), 0 warning(s)
D:\Development\SuiteBuild_Development\BuildProcess.build(209,4):
Failure scanning \"C:\Program Files (x86)\Windows Installer XML
v3\bin\Microsoft.
Tools.WindowsInstallerXml.NAntTasks.dll\" for extensions.
The format of the file
'Microsoft.Tools.WindowsInstallerXml.NAntTasks.dll' is invalid.
Total time: 0.1 seconds.
Eric
------------------------------------------------------------------------
-
This SF.Net email is sponsored by the Moblin Your Move Developer's
challenge
Build the coolest Linux based applications with Moblin SDK & win great
prizes
Grand prize is a trip for two to an Open Source event anywhere in the
world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users
------------------------------------------------------------------------
-
This SF.Net email is sponsored by the Moblin Your Move Developer's
challenge
Build the coolest Linux based applications with Moblin SDK & win great
prizes
Grand prize is a trip for two to an Open Source event anywhere in the
world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users
------------------------------------------------------------------------
-
This SF.Net email is sponsored by the Moblin Your Move Developer's
challenge
Build the coolest Linux based applications with Moblin SDK & win great
prizes
Grand prize is a trip for two to an Open Source event anywhere in the
world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users
------------------------------------------------------------------------
-
This SF.Net email is sponsored by the Moblin Your Move Developer's
challenge
Build the coolest Linux based applications with Moblin SDK & win great
prizes
Grand prize is a trip for two to an Open Source event anywhere in the
world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users