Sweet!  Thanks so much.   I'll convert my CA's over to use the new format on
Monday.

:-)

Chris

On Sat, May 24, 2008 at 12:12 PM, Jason Ginchereau <[EMAIL PROTECTED]>
wrote:

>  Project templates are in build 3.0.4123:
>
>
> http://blogs.msdn.com/jasongin/archive/2008/05/23/custom-action-project-templates.aspx
>
>
>
> *From:* [EMAIL PROTECTED] [mailto:
> [EMAIL PROTECTED] *On Behalf Of *Christopher
> Painter
> *Sent:* Tuesday, May 20, 2008 6:14 PM
> *To:* Christopher Karper; [EMAIL PROTECTED]
> *Cc:* wix-users@lists.sourceforge.net
> *Subject:* Re: [WiX-users] DTF in MSBuild
>
>
>
> I wanted to keep this abstracted and loosely coupled.  It's all
> prototype/play work right now and I don't want to add dependencies to the
> build box that I can't resolve by just pulling some third party components
> out of source.
>
>
>
> I'm sure when the day comes that wix3.msi has all the right bits deployed
> to the right locations with official project templates with proper msbuild
> support then I'll change my implementation and incorporate that pattern
> instead.   It's just simple and expediant for now.
>
>
> *Christopher Karper <[EMAIL PROTECTED]>* wrote:
>
> It looks like you're copying in all the DTF support files into a subdir as
> well.  I was trying to just use the preinstalled locs.
>
> To each their own.   It'd be pretty easy to make an msbuild action out of
> MakeSfxCA since it's all managed code anyway.  I'm sure it'll come along
> soon enough.
>
> Chris
>
> On Tue, May 20, 2008 at 5:58 PM, Christopher Painter <
> [EMAIL PROTECTED]> wrote:
>
> I took the lazy way out for now with a postbuild event since Jason has said
> proper templates will be coming. I decided to add DTF to the filename for
> uniqueness.   My goal was to isolate the dependencies and wire it up as a
> standard C# class project without any particularly special plumbing.
>
>
>
> $(ProjectDir)SDK\MakeSfxCA.exe $(TargetDir)$(TargetName).DTF.dll
> $(ProjectDir)SDK\sfxca.dll $(TargetPath)
> $(ProjectDir)SDK\Microsoft.Deployment.WindowsInstaller.dll
> $(ProjectDir)ExternalAssemblies\AxLibrary.dll
>
>
>
> I also wrote a few blogs on the topic if you are interested. ( Can you
> tell, I REALLY like DTF )
>
>
>
>
> http://blog.deploymentengineering.com/2008/05/price-of-ideology-and-great-new-hope.html
>
>
>
>
> http://blog.deploymentengineering.com/2008/05/deployment-tools-foundation-dtf-custom.html
>
>
>
>
> http://blog.deploymentengineering.com/2008/05/data-driven-cas-made-easy-with-dtf.html
>
>
>
> *Christopher Karper <[EMAIL PROTECTED]>* wrote:
>
>  Oh yeah, also note, this depends on you having a file named
> CustomAction.config in your project.   I great improvement would be to have
> it check for the file's existence before including it.  :-)
>
> YMMV.
>
> Chris
>
> On Tue, May 20, 2008 at 5:49 PM, Christopher Karper <
> [EMAIL PROTECTED]> wrote:
>
> I've got the DTF wrapper bit running as a simple exec task by adding the
> following to the end of my project file for the CA dll.
>
> It uses the project output and appends an _Sfx to it to mark it as the
> wrapped version.   It's brute force, and it steals from the wix.targets
> file....
> Pay special attention to the DTFBin Property.  you can find a better way to
> populate it, or just change it to point to your installation.   I had to
> build the DTF myself and disable a bunch of the signing to get this to work,
> since MakeSfxCA.exe wasn't included in the binary distro for this release.
>
> It's uglybut hey, if someone wants to use it/improve it, be my guest.
>
> Chris
>
> --------
>
>    <Target Name="AfterBuild">
>         <CallTarget Targets="MakeSfxCA" />
>     </Target>
>
>     <!--
>     From the Wix.targets file - CMK
>
>   Several properties must be set in the main project file, before using
> this .targets file.
>   However, if the properties are not set, we pick some defaults.
>   -->
>     <PropertyGroup>
>
>         <!-- Not a good way, but it works for me.   This should use
> registry search, the same way the wix.targets does -->
>         <DTFBin>c:\Program Files (x86)\Windows Installer XML
> v3\sdk\</DTFBin>
>
>         <Configuration Condition=" '$(Configuration)' == ''
> ">Debug</Configuration>
>         <Platform Condition=" '$(Platform)'=='' ">AnyCPU</Platform>
>         <OutputPath Condition=" '$(OutputPath)' == ''
> ">bin\$(Configuration)\</OutputPath>
>         <!-- Ensure any OutputPath has a trailing slash, so it can be
> concatenated -->
>         <OutputPath Condition=" '$(OutputPath)' != '' and
> !HasTrailingSlash('$(OutputPath)') ">$(OutputPath)\</OutputPath>
>         <_OriginalOutputType>$(OutputType)</_OriginalOutputType>
>         <OutputType Condition=" '$(OutputType)' == ''
> ">Library</OutputType>
>     </PropertyGroup>
>     <PropertyGroup>
>         <!-- Example, bin\Debug\ -->
>         <OutDir Condition=" '$(OutDir)' == '' ">$(OutputPath)</OutDir>
>         <!-- Ensure OutDir has a trailing slash, so it can be concatenated
> -->
>         <OutDir Condition=" '$(OutDir)' != '' and
> !HasTrailingSlash('$(OutDir)') ">$(OutDir)\</OutDir>
>
>         <!-- Example, MyCA -->
>         <ProjectName Condition=" '$(ProjectName)' == ''
> ">$(MSBuildProjectName)</ProjectName>
>
>         <!-- Example, MyCA.csproj -->
>         <ProjectFileName Condition=" '$(ProjectFileName)' == ''
> ">$(MSBuildProjectFile)</ProjectFileName>
>
>         <!-- Example, .csproj -->
>         <ProjectExt Condition=" '$(ProjectExt)' == ''
> ">$(MSBuildProjectExtension)</ProjectExt>
>
>         <!-- Example, c:\MyProjects\MyCA\ -->
>         <ProjectDir Condition=" '$(ProjectDir)' == ''
> ">$(MSBuildProjectDirectory)\</ProjectDir>
>
>         <!-- Example, c:\MyProjects\MyCA\MyCA.csproj -->
>         <ProjectPath Condition=" '$(ProjectPath)' == ''
> ">$(ProjectDir)$(ProjectFileName)</ProjectPath>
>
>         <!-- Example, MyCA -->
>         <TargetName Condition=" '$(TargetName)' == ''
> ">$(OutputName)</TargetName>
>
>         <!-- Example, MyCA.dll -->
>         <TargetFileName Condition=" '$(TargetFileName)' == ''
> ">$(TargetName)$(TargetExt)</TargetFileName>
>
>         <!-- Example, MyCA_Sfx.dll -->
>         <TargetSfxName Condition=" '$(TargetSfxName)' == ''
> ">$(TargetName)_Sfx$(TargetExt)</TargetSfxName>
>
>         <!-- Example, x86, x64 -->
>         <TargetArchitecture Condition=" '$(TargetArchitecture)' == ''
> ">x86</TargetArchitecture>
>
>         <!-- Example, c:\MyProjects\MyCA\bin\Debug\ -->
>         <FullOutDir Condition=" '$(FullOutDir)' == ''
> ">$(ProjectDir)$(OutDir)</FullOutDir>
>     </PropertyGroup>
>
>     <Target Name="MakeSfxCA">
>         <Exec Command="&quot;$(DTFbin)MakeSfxCA.exe&quot;
> &quot;$(FullOutDir)$(TargetSfxName)&quot;
> &quot;$(DTFbin)$(TargetArchitecture)\SfxCA.dll&quot;
> &quot;$(FullOutDir)$(TargetFileName)&quot;
> &quot;$(ProjectDir)CustomAction.config&quot;
> &quot;$(DTFbin)Microsoft.Deployment.WindowsInstaller.dll&quot;
> &quot;$(DTFbin)Microsoft.Deployment.Resources.dll&quot;" />
>     </Target>
>
>
>
>
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
>
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/_______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>
>
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
>
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/_______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>
>
>
>
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to