main
 1<?xml version="1.0" encoding="utf-8" ?>
 2<project name="project.installation">
 3
 4	<property name="installation.dir" value="${build.dir}\installation" />
 5
 6	<target name="load_local_properties">
 7	    <property name="application.manifest" value="${installation.dir}\${assembly.version}\${app.output}.manifest" />
 8	    <property name="deployment.manifest" value="${installation.dir}\${app.output}.application" />
 9		<property name="mage.exe" value="${dot.net.sdk.dir}\mage.exe" />
10	</target>
11	
12	<target name="create.installation.dir" depends="deploy">
13		<delete dir="${installation.dir}\${assembly.version}" failonerror="false" />
14		<mkdir dir="${installation.dir}\${assembly.version}" />
15		
16		<copy todir="${installation.dir}\${assembly.version}" flatten="false" >
17			<fileset basedir="${build.compile.dir}">
18				<include name="**/*" />
19			</fileset>
20		</copy>
21	</target>
22
23  <target name="convert.bootstrap">
24    <copy file="${bootstrap.file}.template" tofile="${bootstrap.file}" overwrite="true">
25      <filterchain>
26        <replacetokens>
27          <token key="deployment.manifest" value="${deployment.manifest}" />
28          <token key="deployment.manifest.file.name" value="${app.output}.application" />
29          <token key="installation.dir" value="${installation.dir}" />
30          <token key="deployment.url" value="${deployment.url}" />
31        </replacetokens>
32      </filterchain>
33    </copy>
34  </target>
35  
36  <target name="create.bootstrap" depends="load_local_properties">
37    <property name="bootstrap.file" value="${build.config.dir}\bootstrap.xml" />
38    <call target="convert.bootstrap" />
39    <property name="msbuild.exe" value="${framework.dir}\msbuild.exe" />
40    <exec program="${msbuild.exe}" commandline="/toolsversion:3.5 ${bootstrap.file}" />
41    
42  	<property name="target.exe" value="${installation.dir}\setup.exe" />
43  	<call target="sign.code" />
44  </target>
45	
46	<target name="installer" depends="load_local_properties,create.installation.dir,create.bootstrap">		
47		<property name="args.new.application" value="-n Application -t ${application.manifest} -fd ${build.compile.dir} -v ${assembly.version} -n momoney -cf ${certificate.filename} -pwd ${certificate.password} -pub mokhan.ca -tr FullTrust -UseManifestForTrust true -wpf false" />
48		<property name="args.new.deployment" value="-n Deployment -t ${deployment.manifest} -pu ${deployment.url}/${app.output}.application -appm ${application.manifest} -i true -v ${assembly.version} -appc ${deployment.url}\${assembly.version}\${app.output}.manifest -cf ${certificate.filename} -pwd ${certificate.password} -n momoney -pub mokhan.ca -wpf false" />
49		<property name="args.update.deployment" value="-u ${deployment.manifest} -appm ${application.manifest} -v ${assembly.version}" />	
50		<property name="args.sign.application" value="-s ${application.manifest} -cf ${certificate.filename} -Password ${certificate.password}" />
51		<property name="args.sign.deployment" value="-s ${deployment.manifest} -cf ${certificate.filename} -Password ${certificate.password}" />
52		
53		<exec program="${mage.exe}" commandline="${args.new.application}" />
54		<exec program="${mage.exe}" commandline="${args.sign.application}" />
55		<exec program="${mage.exe}" commandline="${args.new.deployment}" />
56		<exec program="${mage.exe}" commandline="${args.update.deployment}" />
57		<exec program="${mage.exe}" commandline="${args.sign.deployment}" />
58	</target>
59  
60  <target name="sign.code">
61			<echo message="signing ${target.exe}" />
62			<!--<exec program="${dot.net.sdk.dir}\signtool.exe"
63				commandline="sign /f ${certificate.filename} /p ${certificate.password} /t http://timestamp.verisign.com/scripts/timstamp.dll ${target.exe}"
64				/>-->
65  </target>
66  
67</project>