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>