Documentation for One-Step Build –’07-’08 MGX Team Softwares used: Launch4j, Inno Setup Installer, SvnAnt. Open source control used: Subversion Launch4j – Launch4j is a cross-platform tool for wrapping Java applications distributed as jars in lightweight Windows native executables. For more information on Launch4j updates refer http://launch4j.sourceforge.net/ Inno Setup Installer - Inno Setup is a free installer for Windows programs. The Inno Setup has a setup compiler that produces .iss script files (Inno configuration file) that should be edited to set application files. For more information on Inno Setup updates refer http://www.jrsoftware.org/isinfo.php SvnAnt – SvnAnt is an ant task that provides an interface to Subversion revision control system. Refer the link below for more information on latest updates if any: http://subclipse.tigris.org/svnant.html How it works? The one step build file has ant targets providing the functionality of Subversion check out, check in, and commit. It has ant targets to create jar file and also to convert jar to exe file using Launch4j which is used by Inno Setup Installer to create a setup wizard (exe). In the build.properties users are given the option of editing their SVN username, SVN password, and the directory to which checkout, checkins and commit needs to occur. Pre-requisites: 1. Install Launch4J in C:\Program Files\Launch4 Note: If install in different path change path at line 16 in build.xml. 2. Install the Inno Setup in C:\Program Files\Inno Setup Note: If install in different path change path at line 81 in build.xml. 3. Copy Launch4j configuration xml (MGXlaunch4j.xml) in working folder. 4. Copy Inno Setup script file (MGXInnosetup.iss) into working folder. 5. Use svnant version 1.1.0-Rc2 Note: a. Set svnant.classpath to c:\????\svnant-1.1.0-Rc2\lib b. Edit build.properties, add svn username and password. Run Ant: 1. Run ant in working folder. 2. Output files MGXSetup.exe, MGX.exe and MGX.jar created in working folder and \bin folder (to update SVN). 3. Double click Setup and follow wizard. 4. Copy the MGXSetup.exe to MGX website Setup folder. Brief Description Of Ant Target Snippets The required jar files for Launch4j are in "launch4j.dir" which points to the absolute location of “C:\Program Files\Launch4”. See below <property name="launch4j.dir" location="C:\Program Files\launch4j" /> <taskdef name="launch4j" classname="net.sf.launch4j.ant.Launch4jTask" classpath="${launch4j.dir}/launch4j.jar:${launch4j.dir}/lib/xstream.jar" /> The “lib.dir” is specified in the build.properties from where the required jars files for SvnAnt are put into classpath. Set the SvnAnt jar files into local java classpath to run commandline Ant. (Set svnant.classpath to c:\????\svnant-1.1.0-Rc2\lib). <! -- path to the svnant libraries. --> <path id="svnant.classpath"> <fileset dir="${lib.dir}"> <include name="**/*.jar" /> </fileset> </path> <! -- load the svn task --> <typedef resource="org/tigris/subversion/svnant/svnantlib.xml" classpathref="svnant.classpath" /> <! -- Copy the Greenhouse folder into greenhouse folder delete existing jar and exe files--> <target name="copy" depends="compile"> <echo message="Copies all phenotype images"/> <copy todir="Greenhouse"> <fileset dir="Greenhouse"/> </copy> <delete file="MGX.jar"/> <delete file="MGX.exe"/> <delete file="MGXsetup.exe"/> <delete file="bin/MGX.jar"/> <delete file="bin/MGX.exe"/> <delete file="bin/MGXsetup.exe"/> </target> The Launch4j target creates below the .exe file using the Launch4j configuration file (MGXLaunch4j.xml) and copied to \bin directory. <! -- Creating EXE with launch4j tool --> <target name="exe" depends="jarfile" description="Launch4j build"> <taskdef name="launch4j" classname="net.sf.launch4j.ant.Launch4jTask" classpath="${launch4j.dir}/launch4j.jar :${launch4j.dir}/lib/xstream.jar" /> <launch4j configFile="MGXLaunch4j.xml" /> <copy file="MGX.exe" todir="./bin"/> </target> The InnoSetup target: - depends on the .exe produced from launch4j and is specified in InnoSetup configuration file(MgxInnosetup.iss) which is given as the argument value and setup exe (MGXsetup.exe)is copied to bin folder. <! -- Creating windows setup exe file to install mgx.exe --> <target name="runInnoSetup" depends="exe" description="run Inno script"> <exec executable="C:\Program Files\Inno Setup 5\iscc.exe "> <arg value="MgxInnosetup.iss"/> </exec> <copy file="MGXsetup.exe" todir="./bin"/> </target> Important points to note: 1) Make sure updated version of SvnAnt is used. Refer the site– http://subclipse.tigris.org/svnant.html. For at present it is 1.1.0-Rc2 2) Svn task attribute - javahl should always be set to false. 3) Set the SvnAnt jar files into local java classpath to run commandline Ant. (Set svnant.classpath to c:\????\svnant-1.1.0-Rc2\lib). 4) (One step) build.xml, build.properties, MgxInnosetup.iss, MGXLaunch4j.xml exists in the Open source control –Subversion. For reference it’s also provided below. 5) The one step build has been tested successfully and verified. Shortcomings: a) Updating website with the latest build version for all latest builds at present is manual and not automated. b) For SVN commit, the SvnAnt target requires that the previous file version to exist in the SVN to upload a newer/changed version. Script Files: Following are the actual script files used in the development: Onestepbuild Brief Description: - The laucnh4j and InnoSetup should be put in correct absolute location. The ant targets “exe” should have the correct launch4j script file and “runInnoSetup” should have correct Innosetup configuration file. These script files can be edited by the Users to meet their setup. The user can use the given configuration file or generate a new one using Launch4j software. The jar file (MGX.jar) is to be converted to .exe file (MGX.exe) is specified using <jar></jar> and <outfile></outfile>. One can also specify whether jre to be bundled or not using <path></path>. The required version info could be provided in <versionInfo></versionInfo>. Similarly new Inno scripts can be created by using InnoSetup software. The .iss scripts created using Inno Script Wizard used could be edited as per the user to run according to one’s System Setup. See Documentation for getting more help on creating/setting up Inno scripts. build.xml -MGX <project name="Molecular Genetics Explorer" default="run"> <!--modified - Jinny.S ,MGXTeam '07-'08--> <!--modified - Sada , MGX Team '07-'08--> <!-- svn,launch4j,build version Number,InnoSetup --> <!--Prereq install launch4j, Innosetup and Svnant setup svnant.classpath = c:?????\svnant\????\lib Add svn username and password in build.properties file --> <path id="project.classpath"> <pathelement location="MGX.jar" /> </path> <!-- all other properties are in build.properties --> <property file="build.properties" /> <property name="launch4j.dir" location="C:\Program Files\launch4j" /> <taskdef name="launch4j" classname="net.sf.launch4j.ant.Launch4jTask" classpath="${launch4j.dir}/launch4j.jar:${launch4j.dir}/lib/xstream.jar" /> <! -- path to the svnant libraries. --> <path id="svnant.classpath"> <fileset dir="${lib.dir}"> <include name="**/*.jar" /> </fileset> </path> <!-- load the svn task --> <typedef resource="org/tigris/subversion/svnant/svnantlib.xml" classpathref="svnant.classpath" /> <!-- Checking out the bin folder from the svn --> <target name="svn-checkout" description="Checkout specified project from SVN to local file system"> <svn javahl="false" username="${svnant.repository.user}" password="${svnant.repository.passwd}"> <!--the absolute path to check out from SVN could be specified here or using build.properties as <checkout url="${svnant.url}" destPath="${src_latest}" />--> <checkout url="svn://dssg.cs.umb.edu/cs680/cs682-3/mgx/MolGenExp/bin" destPath="./bin" /> </svn> </target> <!-- Compile the source --> <!--target name="compile" depends="svn-checkout" description="Compiles the code"--> <target name="compile" description="Compiles the code"> <javac srcdir="src/" destdir="bin/"/> </target> <!-- Copy the Greenhouse folder into greenhouse folder delete existing jar and exe files--> <target name="copy" depends="compile"> <echo message="Copies all phenotype images"/> <copy todir="Greenhouse"> <fileset dir="Greenhouse"/> </copy> <delete file="MGX.jar"/> <delete file="MGX.exe"/> <delete file="MGXsetup.exe"/> <delete file="bin/MGX.jar"/> <delete file="bin/MGX.exe"/> <delete file="bin/MGXsetup.exe"/> </target> <!--Building jar file --> <target name="jarfile" depends="copy" description="makes jar file"> <echo message="Build MGX.jar"/> <jar destfile="bin/MGX.jar"> <manifest> <attribute name="Main-Class" value="molGenExp.MolGenExp"/> <attribute name="Implementation-Version" value="${version.number}-b${build. number}"/> </manifest> <fileset dir="bin/"/> </jar> <copy file="bin/MGX.jar" todir="."/> </target> <!-- Creating EXE with launch4j tool --> <target name="exe" depends="jarfile" description="Launch4j build"> <taskdef name="launch4j" classname="net.sf.launch4j.ant.Launch4jTask" classpath="${launch4j.dir}/launch4j.jar :${launch4j.dir}/lib/xstream.jar" /> <launch4j configFile="MGXLaunch4j.xml" /> <copy file="MGX.exe" todir="./bin"/> </target> <!-- Creating windows setup exe file to install mgx.exe --> <target name="runInnoSetup" depends="exe" description="run Inno script"> <exec executable="C:\Program Files\Inno Setup 5\iscc.exe "> <arg value="MgxInnosetup.iss"/> </exec> <copy file="MGXsetup.exe" todir="./bin"/> </target> <!-- Committing the files into svn --> <target name="svn-commit" depends= "runInnoSetup" description="Commit changes made from local file system to SVN"> <svn username="${svnant.repository.user}" password="${svnant.repository.passwd}"> <commit dir="./bin" message="${svn_message}" /> </svn> </target> <!-- Running MGX.jar --> <!--target name="run" depends="svn-commit" description="run MGX"--> <target name="run" depends= "runInnoSetup" description="run MGX"> <echo message="run MGX.jar executable"/> <java jar="MGX.jar" fork="true"/> </target> </project> MGXLaunch4j.xml:<launch4jConfig> <dontWrapJar>false</dontWrapJar> <headerType>gui</headerType> <jar>.\MGX.jar</jar> <outfile>.\MGX.exe</outfile> <errTitle></errTitle> <cmdLine></cmdLine> <chdir>.</chdir> <priority>normal</priority> <downloadUrl>http://java.com/download</downloadUrl> <supportUrl></supportUrl> <customProcName>false</customProcName> <stayAlive>false</stayAlive> <icon>.\icon.ico</icon> <jre> <path></path> <minVersion>1.4.2</minVersion> <maxVersion></maxVersion> <dontUsePrivateJres>false</dontUsePrivateJres> <initialHeapSize>16</initialHeapSize> <maxHeapSize>256</maxHeapSize> </jre> <versionInfo> <fileVersion>1.4.0.0</fileVersion> <txtFileVersion>1.4.0.0</txtFileVersion> <fileDescription>MGX</fileDescription> <copyright>MGX Team 2007-2008</copyright> <productVersion>1.4.0.0</productVersion> <txtProductVersion>1.4.0.0</txtProductVersion> <productName>Molecular Genetics Explorer</productName> <companyName>University of Massachusetts - Boston</companyName> <internalName>MGX</internalName> <originalFilename>MGX.exe</originalFilename> </versionInfo> </launch4jConfig> Species Editor –build.xml <project name="SpeciesEditor" default="run"> <!--modified - Jinny.S ,MGXTeam '07-'08--> <!--modified - Sada , MGX Team '07-'08--> <!-- svn,launch4j,build version Number,InnoSetup --> <!--Prereq install launch4j, Innosetup and Svnant setup svnant.classpath = c:?????\svnant\????\lib Add svn username and password in build.properties file --> <path id="project.classpath"> <pathelement location="SpeciesEditor.jar" /> </path> <!-- all other properties are in build.properties --> <property file="build.properties" /> <property name="launch4j.dir" location="C:\Program Files\launch4j" /> <taskdef name="launch4j" classname="net.sf.launch4j.ant.Launch4jTask" classpath="${launch4j.dir}/launch4j.jar:${launch4j.dir}/lib/xstream.jar" /> <! -- path to the svnant libraries. --> <path id="svnant.classpath"> <fileset dir="${lib.dir}"> <include name="**/*.jar" /> </fileset> </path> <!-- load the svn task --> <typedef resource="org/tigris/subversion/svnant/svnantlib.xml" classpathref="svnant.classpath" /> <!-- Checking out the bin folder from the svn --> <target name="svn-checkout" description="Checkout specified project from SVN to local file system"> <svn javahl="false" username="${svnant.repository.user}" password="${svnant.repository.passwd}"> <!--the absolute path to check out from SVN could be specified here or using build.properties as <checkout url="${svnant.url}" destPath="${src_latest}" />--> <checkout url="svn://dssg.cs.umb.edu/cs680/cs682-3/mgx/SpeciesEditor/bin" destPath="./bin" /> </svn> </target> <!-- Compile the source --> <!--target name="compile" depends="svn-checkout" description="Compiles the code"--> <target name="compile" description="Compiles the code"> <javac srcdir="src/" destdir="bin/"/> </target> <target name="copy" depends="compile"> <delete file="SpeciesEditor.jar"/> <delete file="SpeciesEditor.exe"/> <delete file="SpeciesEditorSetup.exe"/> <delete file="bin/SpeciesEditor.jar"/> <delete file="bin/SpeciesEditor.exe"/> <delete file="bin/SpeciesEditorSetup.exe"/> </target> <!--Building jar file --> <target name="jarfile" depends="copy" description="makes jar file"> <echo message="Build SpeciesEditor.jar"/> <jar destfile="bin/SpeciesEditor.jar"> <manifest> <attribute name="Main-Class" value="ui.SpeciesEditor"/> </manifest> <fileset dir="bin/"/> </jar> <copy file="bin/SpeciesEditor.jar" todir="."/> </target> <!-- Creating EXE with launch4j tool --> <target name="exe" depends="jarfile" description="Launch4j build"> <taskdef name="launch4j" classname="net.sf.launch4j.ant.Launch4jTask" classpath="${launch4j.dir}/launch4j.jar :${launch4j.dir}/lib/xstream.jar" /> <launch4j configFile="SpeciesEditorLaunch4j.xml" /> <copy file="SpeciesEditor.exe" todir="./bin"/> </target> <!-- Creating windows setup exe file to install SpeciesEditor.exe --> <target name="runInnoSetup" depends="exe" description="run Inno script"> <exec executable="C:\Program Files\Inno Setup 5\iscc.exe "> <arg value=" SpeciesEditor.iss"/> </exec> <copy file="SpeciesEditorSetup.exe" todir="./bin"/> </target> <!-- Committing the files into svn --> <target name="svn-commit" depends= "runInnoSetup" description="Commit changes made from local file system to SVN"> <svn username="${svnant.repository.user}" password="${svnant.repository.passwd}"> <commit dir="./bin" message="${svn_message}" /> </svn> </target> <!-- Running SpeciesEditor.jar --> <!--target name="run" depends="svn-commit" description="run SE"--> <target name="run" depends= "runInnoSetup" description="run Species Editor"> <echo message="run SpeciesEditor.jar executable"/> <java jar="SpeciesEditor.jar" fork="true"/> </target> </project> SpeciesEditorLaunch4j.xml <launch4jConfig> <dontWrapJar>false</dontWrapJar> <headerType>gui</headerType> <jar>.\SpeciesEditor.jar</jar> <outfile>.\SpeciesEditor.exe</outfile> <errTitle>JRE not found !</errTitle> <cmdLine></cmdLine> <chdir>.</chdir> <priority>normal</priority> <downloadUrl>http://java.com/download</downloadUrl> <supportUrl></supportUrl> <customProcName>false</customProcName> <stayAlive>false</stayAlive> <icon>.\se_logo.ico</icon> <jre> <path>.\java\jre\bin</path> <minVersion>1.4.2</minVersion> <maxVersion></maxVersion> <dontUsePrivateJres>false</dontUsePrivateJres> <initialHeapSize>16</initialHeapSize> <maxHeapSize>256</maxHeapSize> </jre> <versionInfo> <fileVersion>1.0.0.0</fileVersion> <txtFileVersion>1.0.0.0</txtFileVersion> <fileDescription>Species Editor</fileDescription> <copyright>MGX Team 2007-2008</copyright> <productVersion>1.0.0.0</productVersion> <txtProductVersion>1.0.0.0</txtProductVersion> <productName>Species Editor</productName> <companyName>University of Massachusetts - Boston</companyName> <internalName>Species Editor</internalName> <originalFilename>SpeciesEditor.exe</originalFilename> </versionInfo> </launch4jConfig> Protex – build.xml <project name="Protex" default="run"> <!--modified - Jinny.S ,MGXTeam '07-'08--> <!--modified - Sada , MGX Team '07-'08--> <!-- svn,launch4j,build version Number,InnoSetup --> <!--Prereq install launch4j, Innosetup and Svnant setup svnant.classpath = c:?????\svnant\????\lib Add svn username and password in build.properties file --> <path id="project.classpath"> <pathelement location="Protex.jar" /> </path> <!-- all other properties are in build.properties --> <property file="build.properties" /> <property name="launch4j.dir" location="C:\Program Files\launch4j" /> <taskdef name="launch4j" classname="net.sf.launch4j.ant.Launch4jTask" classpath="${launch4j.dir}/launch4j.jar:${launch4j.dir}/lib/xstream.jar" /> <! -- path to the svnant libraries. --> <path id="svnant.classpath"> <fileset dir="${lib.dir}"> <include name="**/*.jar" /> </fileset> </path> <!-- load the svn task --> <typedef resource="org/tigris/subversion/svnant/svnantlib.xml" classpathref="svnant.classpath" /> <!-- Checking out the bin folder from the svn --> <target name="svn-checkout" description="Checkout specified project from SVN to local file system"> <svn javahl="false" username="${svnant.repository.user}" password="${svnant.repository.passwd}"> <!--the absolute path to check out from SVN could be specified here or using build.properties as <checkout url="${svnant.url}" destPath="${src_latest}" />--> <checkout url="svn://dssg.cs.umb.edu/cs680/cs682-3/mgx/NewProtex/bin" destPath="./bin" /> </svn> </target> <!-- Compile the source --> <!--target name="compile" depends="svn-checkout" description="Compiles the code"--> <target name="compile" description="Compiles the code"> <javac srcdir="src/" destdir="bin/"/> </target> <target name="copy" depends="compile"> <delete file="Protex.jar"/> <delete file="Protex.exe"/> <delete file="ProtexSetup.exe"/> <delete file="bin/Protex.jar"/> <delete file="bin/Protex.exe"/> <delete file="bin/ProtexSetup.exe"/> </target> <!--Building jar file --> <target name="jarfile" depends="copy" description="makes jar file"> <echo message="Build Protex.jar"/> <jar destfile="bin/Protex.jar"> <manifest> <attribute name="Main-Class" value="protex.Protex"/> </manifest> <fileset dir="bin/"/> </jar> <copy file="bin/Protex.jar" todir="."/> </target> <!-- Creating EXE with launch4j tool --> <target name="exe" depends="jarfile" description="Launch4j build"> <taskdef name="launch4j" classname="net.sf.launch4j.ant.Launch4jTask" classpath="${launch4j.dir}/launch4j.jar :${launch4j.dir}/lib/xstream.jar" /> <launch4j configFile="ProtexLaunch4j.xml" /> <copy file="Protex.exe" todir="./bin"/> </target> <!-- Creating windows setup exe file to install Protex.exe --> <target name="runInnoSetup" depends="exe" description="run Inno script"> <exec executable="C:\Program Files\Inno Setup 5\iscc.exe "> <arg value="Protex.iss"/> </exec> <copy file="ProtexSetup.exe" todir="./bin"/> </target> <!-- Committing the files into svn --> <target name="svn-commit" depends= "runInnoSetup" description="Commit changes made from local file system to SVN"> <svn username="${svnant.repository.user}" password="${svnant.repository.passwd}"> <commit dir="./bin" message="${svn_message}" /> </svn> </target> <!-- Running Protex.jar --> <!--target name="run" depends="svn-commit" description="run Protex"--> <target name="run" depends= "runInnoSetup" description="run Protex"> <echo message="run Protex.jar executable"/> <java jar="Protex.jar" fork="true"/> </target> </project> ProtexLaunch4j.xml <launch4jConfig> <dontWrapJar>false</dontWrapJar> <headerType>gui</headerType> <jar>.\Protex.jar</jar> <outfile>.\Protex.exe</outfile> <errTitle>JRE not found !</errTitle> <cmdLine></cmdLine> <chdir>.</chdir> <priority>normal</priority> <downloadUrl>http://java.com/download</downloadUrl> <supportUrl></supportUrl> <customProcName>false</customProcName> <stayAlive>false</stayAlive> <icon>.\icon.ico</icon> <jre> <path>.\java\jre\bin</path> <minVersion>1.4.2</minVersion> <maxVersion></maxVersion> <dontUsePrivateJres>false</dontUsePrivateJres> <initialHeapSize>16</initialHeapSize> <maxHeapSize>256</maxHeapSize> </jre> <versionInfo> <fileVersion>3.0.2.0</fileVersion> <txtFileVersion>3.0.2.0</txtFileVersion> <fileDescription>Protein Investigator</fileDescription> <copyright>MGX Team 2007-2008</copyright> <productVersion>3.0.2.0</productVersion> <txtProductVersion>3.0.2.0</txtProductVersion> <productName>Species Editor</productName> <companyName>University of Massachusetts - Boston</companyName> <internalName>Protein Investigator</internalName> <originalFilename>Protex.exe</originalFilename> </versionInfo> </launch4jConfig> Build.properties -MGX # # # # # # # # ---------------------------------------------------------------------@ author Jinny S '07-'08-MGX Team build.properties The svnant version used here is 1.1.0-RC2 The required libraries for "svnant" task is in "lib" folder. This properties file could be modified as per users' requirements in checking out, updating and committing changes to Subversion files. ---------------------------------------------------------------------- lib.dir=lib #SVN url svnant.base.url=svn://dssg.cs.umb.edu/cs680/cs682-3/mgx/MolGenExp/bin #Here, Specify the folder which you want to check out from SVN. svnant.url=${svnant.base.url} #Specify the folder in local, to which files are to be copied from SVN. #src_latest=c:/cs682/bin #Specify the folder which is to be uploaded to SVN. #svnant.commitDir=C:/cs682/bin svn_message= ${svnant.repository.user} #Specify your own SVN username and password below. svnant.repository.user= usernm svnant.repository.passwd=paswd -----------------------------------------------------------------------#Build Version -----------------------------------------------------------------------# version number for the latest jar. version.number = 2.1 build.properties – species editor # # # # ---------------------------------------------------------------------@ author Jinny S '07-'08-MGX Team build.properties The svnant version used here is 1.1.0-RC2 # # # # The required libraries for "svnant" task is in "lib" folder. This properties file could be modified as per users' requirements in checking out, updating and committing changes to Subversion files. ---------------------------------------------------------------------- lib.dir=lib #SVN url svnant.base.url=svn://dssg.cs.umb.edu/cs680/cs682-3/mgx/SpeciesEditor/bin #Here, Specify the folder which you want to check out from SVN. svnant.url=${svnant.base.url} #Specify the folder in local, to which files are to be copied from SVN. #src_latest=c:/cs682/bin #Specify the folder which is to be uploaded to SVN. #svnant.commitDir=C:/cs682/bin svn_message= ${svnant.repository.user} #Specify your own SVN username and password below. svnant.repository.user= usernm svnant.repository.passwd=paswd Build.properties - Protex # # # # # # # # ---------------------------------------------------------------------@ author Jinny S '07-'08-MGX Team build.properties The svnant version used here is 1.1.0-RC2 The required libraries for "svnant" task is in "lib" folder. This properties file could be modified as per users' requirements in checking out, updating and committing changes to Subversion files. ---------------------------------------------------------------------- lib.dir=lib #SVN url svnant.base.url=svn://dssg.cs.umb.edu/cs680/cs682-3/mgx/NewProtex/bin #Here, Specify the folder which you want to check out from SVN. svnant.url=${svnant.base.url} #Specify the folder in local, to which files are to be copied from SVN. #src_latest=c:/cs682/bin #Specify the folder which is to be uploaded to SVN. #svnant.commitDir=C:/cs682/bin svn_message= ${svnant.repository.user} #Specify your own SVN username and password below. svnant.repository.user= usernm svnant.repository.passwd=paswd Single Downloadable InnoSetup script file MGX.iss #define MyAppName1 "MGX" #define MyAppName2 "Species Editor" #define MyAppName3 "Protein Investigator" #define MyAppVerName "MGX ( ie. MGX 1.4.0, Species Editor 1.0 & Protein Investigator 3.0.2 )" #define MyAppPublisher "University of Massachusetts Boston" #define MyAppURL "http://www.cs.umb.edu" #define MyAppExeName1 "MGX.exe" #define MyAppExeName2 "SpeciesEditor.exe" #define MyAppExeName3 "Protex.exe" [Setup] PrivilegesRequired=none AppName={#MyAppName1} AppVerName={#MyAppVerName} AppPublisher={#MyAppPublisher} AppPublisherURL={#MyAppURL} AppSupportURL={#MyAppURL} AppUpdatesURL={#MyAppURL} DefaultDirName={pf}\{#MyAppName1} DefaultGroupName={#MyAppName1} LicenseFile=C:\Documents and Settings\Administrator\My Documents\MGX20072008.rtf OutputBaseFilename=setup Compression=lzma SolidCompression=yes [Languages] Name: "english"; MessagesFile: "compiler:Default.isl" [Tasks] Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked [Files] ;Default Protein Investigator files. Source: "C:\Documents and Settings\Administrator\My Documents\TreeSpecies.histlist"; DestDir: "{app}"; Flags: ignoreversion Source: "C:\Documents and Settings\Administrator\My Documents\species1.histlist"; DestDir: "{app}"; Flags: ignoreversion Source: "C:\Documents and Settings\Administrator\My Documents\species2.histlist"; DestDir: "{app}"; Flags: ignoreversion Source: "C:\Documents and Settings\Administrator\My Documents\species3.histlist"; DestDir: "{app}"; Flags: ignoreversion ;PI files Source: "C:\NewProtex\Protex.exe"; DestDir: "{app}"; Flags: ignoreversion Source: "C:\NewProtex\protex.jpg"; DestDir: "{app}"; Flags: ignoreversion ;MGX files Source: "C:\MGX\MolGenExp\MGX.exe"; DestDir: "{app}"; Flags: ignoreversion Source: "C:\MGX\MolGenExp\Greenhouse\*"; DestDir: "{app}\Greenhouse"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "C:\MGX\MolGenExp\mgx_logo.gif"; DestDir: "{app}"; Flags: ignoreversion ;Species Editor files Source: "C:\SpeciesEditor\SpeciesEditor.exe"; DestDir: "{app}"; Flags: ignoreversion Source: "C:\SpeciesEditor\Species\*"; DestDir: "{app}\Species"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "C:\SpeciesEditor\se_logo.gif"; DestDir: "{app}"; Flags: ignoreversion ; NOTE: Don't use "Flags: ignoreversion" on any shared system files [Icons] ;MGX Name: "{group}\{#MyAppName1}"; Filename: "{app}\{#MyAppExeName1}" Name: "{group}\{cm:UninstallProgram,{#MyAppName1}}"; Filename: "{uninstallexe}" Name: "{commondesktop}\{#MyAppName1}"; Filename: "{app}\{#MyAppExeName1}"; Tasks: desktopicon Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName1}"; Filename: "{app}\{#MyAppExeName1}"; Tasks: quicklaunchicon ;Species Editor Name: "{group}\{#MyAppName2}"; Filename: "{app}\{#MyAppExeName2}" Name: "{commondesktop}\{#MyAppName2}"; Filename: "{app}\{#MyAppExeName2}"; Tasks: desktopicon Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName2}"; Filename: "{app}\{#MyAppExeName2}"; Tasks: quicklaunchicon ;Protein Investigator Name: "{group}\{#MyAppName3}"; Filename: "{app}\{#MyAppExeName3}" Name: "{commondesktop}\{#MyAppName3}"; Filename: "{app}\{#MyAppExeName3}"; Tasks: desktopicon Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName3}"; Filename: "{app}\{#MyAppExeName3}"; Tasks: quicklaunchicon [Run] ;MGX Filename: "{app}\{#MyAppExeName1}"; Description: "{cm:LaunchProgram,{#MyAppName1}}"; Flags: nowait postinstall skipifsilent ;Species Editor Filename: "{app}\{#MyAppExeName2}"; Description: "{cm:LaunchProgram,{#MyAppName2}}"; Flags: nowait postinstall skipifsilent ;Protein Investigator Filename: "{app}\{#MyAppExeName3}"; Description: "{cm:LaunchProgram,{#MyAppName3}}"; Flags: nowait postinstall skipifsilent