Christina,
  We use the NAntContrib MSI and MSM tasks extensively.  I'm including two
targets we use in one of our utilities.  It will first create a msm merge
module, and then create a msi, using that merge module. This does a lot of
what you wanting.  Be sure to look at the documentation on the MSM and MSI
tasks.

John Cole 

-------------------------------------------------------------------------
        <target name="msi">
                <call target="msm"/>

<!--                    banner="..\..\banner.bmp"
                        background="..\..\background.bmp"
                        license="..\..\license.rtf"
 -->
                <msi
                        sourcedir=""
                        output="ReferenceViewer.msi"
                        debug="true"
                        verbose="true"
                >
                        <properties>
                                <property name="ProductName"
value="Reference Viewer" />
                                <property name="ProductVersion"
value="${version}" />
                                <property name="Manufacturer" value="UAI,
Inc." />
                                <property name="ProductCode"
value="{8D02A6D1-265F-41f0-9BA3-2D25BF2CC3F9}" />
                                <property name="UpgradeCode"
value="{270A5FCD-511D-4b23-AA9F-DAAE8408A906}" />
                        </properties>
        
                        <directories>
                                <directory name="D__COMPANY"
foldername="UAI" root="ProgramFilesFolder" >
                                        <directory name="D__Utilties"
foldername="Utilities">
                                                <directory name="D__RV"
foldername="Reference Viewer" />
                                        </directory>
                                </directory>
                                <!-- <directory name="D__PM_COMPANY"
foldername="UAI" root="ProgramMenuFolder" >
                                        <directory name="D__PM_Utilties"
foldername="Utilities" />
                                </directory> -->
                        </directories>

                        <components>
                                <component name="C__MainFiles2"
id="{8FE4E0CD-2C5F-465f-9118-FD3C3B5EC7DC}" attr="2"
                                        directory="D__RV"
feature="F__DefaultFeature" >
                                          <key file="log4net.config" />
                                        <fileset basedir=".">
                                                <include
name="log4net.config" />
                                        </fileset>
                                </component>
                        </components>
<!--                    <icons>
                                <icon name="RV_ICON" value="app.ico" />
                        </icons>
        
                        <shortcuts>
                                <shortcut name="SC__RV"
directory="D__PM_Utilties" filename="ReferenceViewer.exe"
component="C__MainFiles" target="[$C__MainFiles]\ReferenceViewer.exe"
icon="RV_ICON" iconindex="0" showcmd="1">
                                        <description>UAI Reference Viewer
Utility</description>
                                </shortcut>
                        </shortcuts>
 -->
                        <features>
                                <feature name="F__DefaultFeature"
title="Reference Viewer" display="1" typical="true" directory="D__RV">
                                        <description>Reference Viewer
Files</description>
                                </feature>
                        </features>

                        <mergemodules>
                <merge feature="F__DefaultFeature">
                    <modules>
                        <include name="ReferenceViewer.msm" />
                    </modules>
                </merge>
            </mergemodules>
        
                </msi>
        </target>
        
        <target name="msm">
                <msm
                        output="ReferenceViewer.msm"
                        sourcedir=""
        
id="ReferenceViewer.8B80520B_C842_4d72_B383_DD464CF0AC7D"
                        version="${version}"
                        verbose="true"
                >

                        <summaryinformation>
                                <title>Reference Viewer</title>
                                <subject>UAI Reference Viewer</subject>
                                <author>UAI, Inc.</author>
                                <keywords>MSI, database, NAnt,
Installer</keywords>
                                <comments>Projection Files</comments>
                                <template>;1033</template>
        
<revisionnumber>{DDAF0FFE-7DFB-4aeb-9BCF-50BC81E3331C}</revisionnumber>
                                <creatingapplication>NAnt -
http://nant.sf.net </creatingapplication>
                        </summaryinformation> 

                        <directories>
                                <directory name="D__PF_UAI" foldername="UAI"
root="ProgramFilesFolder" >
                                        <directory name="D__Utilties"
foldername="Utilities">
                                                <directory name="D__RV"
foldername="Reference Viewer" />
                                        </directory>
                                </directory>
                                <directory name="D__PM_UAI" foldername="UAI"
root="ProgramMenuFolder" >
                                        <directory name="D__PM_Utilties"
foldername="Utilities" />
                                </directory>
                        </directories>

                        <components>
                                <component name="C__MainFiles"
id="{3EC98386-1504-45de-B04C-DDEB648995FE}" attr="2" directory="D__RV"
feature="F__DefaultFeature">
                                        <key file="ReferenceViewer.exe" />
                                        <fileset basedir="${build_path}">
                                                <include
name="ReferenceViewer.exe" />
                                                <include
name="ReferenceViewer.chm" />
                                                <include name="*.dll" />
                                        </fileset>
                                </component>
                        </components>
                        
                        <icons>
                                <icon name="RV_ICON" value="app.ico" />
                        </icons>
        
                        <shortcuts>
                                <shortcut name="SC__RV"
directory="D__PM_Utilties" filename="ReferenceViewer.exe"
component="C__MainFiles" target="[$C__MainFiles]\ReferenceViewer.exe"
icon="RV_ICON" iconindex="0" showcmd="1">
                                        <description>UAI Reference Viewer
Utility</description>
                                </shortcut>
                        </shortcuts>
                </msm>
        </target>
-------------------------------------------------------------------------




________________________________________
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Crawford,
Christina
Sent: Thursday, March 09, 2006 11:13 AM
To: nant-users@lists.sourceforge.net
Subject: [NAnt-users] How to use Nant and Nantcontrib to do the functions of
a VS .NET 2003 setup project

Is there anyone who has tried to use Nant and Nantcongtrib 
To build a VS .NET 2003 setup project to create the MSI output file? 
Or use Nant and Nantcontrib to replace the functionality of the 
VS .NET 2003 setup project? 
I would like to find a way to use Nant and Nantcontrib to 
Do the same functions that my setup project does in my 
Visual Basic .NET 2003 Windows application that uses a service. 
This setup project is included in the same solution as the 
Windows application.  The solution contains several projects, 
With references and web references.  The setup project will: 
        1. create a computer file folder that will be placed into the
computer's 
            Program files folder ie c:\program files\xxxxxx that contains: 
                a.  all of the project's built dll's, 
                b.  some text and word documents 
        2.  places shortcuts onto the desktop 
        3.  Creates A folder to place in the start all programs that contain

        4.  contain short cuts to one dll and the text and word documents 
I need to be able to do a search the computer's hard drive for 2 dll's that 
are referenced and used Within the application that are not created within 
the application solution and place them into the file folder created in item
1. 
I also need a way to create the shortcuts to use for items 2 and 3 above. 
All of this has to be included in a script that can be executed by the 
Trading partner. 
Christina Crawford 
PA-Electronic Lab Reporting Project 
Department of Health - Bureau of Information Technology 
2150 Herr Street, Ground Floor 
Harrisburg, PA  17103 
  (717) 703-5120 
  [EMAIL PROTECTED] 


-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
NAnt-users mailing list
NAnt-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nant-users

Reply via email to