Merge lp:~mandel/ubuntuone-windows-installer/install_service_wix into lp:ubuntuone-windows-installer/beta

Proposed by Manuel de la Peña
Status: Merged
Approved by: Rodrigo Moya
Approved revision: 17
Merged at revision: 40
Proposed branch: lp:~mandel/ubuntuone-windows-installer/install_service_wix
Merge into: lp:ubuntuone-windows-installer/beta
Prerequisite: lp:~mandel/ubuntuone-windows-installer/fix_null_pointer_start
Diff against target: 304 lines (+188/-35)
2 files modified
install/UbuntuOne.wxs (+170/-29)
main.build (+18/-6)
To merge this branch: bzr merge lp:~mandel/ubuntuone-windows-installer/install_service_wix
Reviewer Review Type Date Requested Status
Rodrigo Moya (community) Approve
Vincenzo Di Somma (community) Approve
Review via email: mp+30685@code.launchpad.net

Description of the change

This branch creates an installer that will install and set up the windows service in the users machine. This means that after the UbuntuOne.msi has been executed the user will have the following:

1. The daemon installed in his machine (Default path is: Program Files/Canonical/Ubuntu One/Daemon
2. Ubuntu One Sync Daemon is one of the installed an running services in the machine (mmc.exe can be used to check this or adminstrative tools -> services)

To test the branch call:

tools\Nant\bin\nant.exe installer

Then in the install directory execute UbuntuOne.msi and install the daemon. After the installation the previously mentioned features should be present.

To post a comment you must log in.
Revision history for this message
Vincenzo Di Somma (vds) wrote :

Tests are ok, installs, disinstall so +1...

review: Approve
Revision history for this message
Rodrigo Moya (rodrigo-moya) wrote :

Can't see anything wrong

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'install/UbuntuOne.wxs'
2--- install/UbuntuOne.wxs 2010-07-19 10:10:22 +0000
3+++ install/UbuntuOne.wxs 2010-07-22 17:01:47 +0000
4@@ -1,36 +1,39 @@
5-<?xml version='1.0' encoding='windows-1252'?>
6-<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>
7+<?xml version="1.0" encoding="windows-1252"?>
8+<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
9 <!--
10 This file contains the wix installer definition that will be used to install Ubuntu One
11 on windows machines. The installer ensures that all the required dependencies that the
12 application requires are present in the system allowing the user to forget about dependecies
13 -->
14- <Product Name='Ubuntu One'
15- Id='13b7ee30-849c-11df-8395-0800200c9a66'
16- UpgradeCode='1f5dcd90-849c-11df-8395-0800200c9a66'
17- Language='1033'
18- Codepage='1252'
19- Version='1.0.0'
20- Manufacturer='Canonical Ltd.'>
21+ <Product Name="Ubuntu One"
22+ Id="13b7ee30-849c-11df-8395-0800200c9a66"
23+ UpgradeCode="1f5dcd90-849c-11df-8395-0800200c9a66"
24+ Language="1033"
25+ Codepage="1252"
26+ Version="1.0.0"
27+ Manufacturer="Canonical Ltd.">
28
29- <Package Id='*'
30- Keywords='Installer'
31+ <Package Id="*"
32+ Keywords="Installer"
33 Description="Ubuntu One is the personal cloud service that
34 simplifies your digital life. Imagine buying music and getting
35 it delivered to the computers of your choice. Or synchronizing your
36 files and notes and accessing them from anywhere.
37 Or consolidating your computer and mobile phone contacts and safely
38 sharing documents and pictures with them"
39- Comments='UbuntuOne is a registered trademark of Canonical Ltd.'
40- Manufacturer='Canonical Ltd.'
41- InstallerVersion='100'
42- Languages='1033'
43- Compressed='yes'
44- SummaryCodepage='1252' />
45+ Comments="UbuntuOne is a registered trademark of Canonical Ltd."
46+ Manufacturer="Canonical Ltd."
47+ InstallerVersion="350"
48+ Languages="1033"
49+ Compressed="yes"
50+ SummaryCodepage="1252" />
51
52- <Media Id='1'
53- Cabinet='UbuntuOne.cab'
54- EmbedCab='yes' />
55+ <Media Id="1"
56+ Cabinet="UbuntuOne.cab"
57+ EmbedCab="yes" />
58+
59+ <Property Id="SERVICECREDENTIALS_USERLOGIN" />
60+ <Property Id="SERVICECREDENTIALS_PASSWORD" />
61
62 <Directory Id="TARGETDIR"
63 Name="SourceDir">
64@@ -39,18 +42,144 @@
65 <Directory Id="DesktopFolder"
66 Name="Desktop" />
67 <Directory Id="ProgramFilesFolder"
68- Name='PFiles'>
69+ Name="PFiles">
70 <Directory Id="Canonical"
71 Name="Canonical">
72 <Directory Id="U1Installdir"
73 Name="UbuntuOne">
74-
75+ <Directory Id="DaemonDir"
76+ Name="Daemon">
77+ <Component Id="DaemonCommonLibComponent"
78+ Guid="a609b650-94b5-11df-981c-0800200c9a66">
79+ <File Id="Canonical.UbuntuOne.Common.dll"
80+ Name="Canonical.UbuntuOne.Common.dll"
81+ DiskId="1"
82+ Source="build_results\Daemon\Canonical.UbuntuOne.Common.dll"
83+ KeyPath="yes"/>
84+ </Component>
85+ <Component Id="DaemonCommonPdbComponent"
86+ Guid="c4ddb5e0-94b5-11df-981c-0800200c9a66">
87+ <File Id="Canonical.UbuntuOne.Common.pdb"
88+ Name="Canonical.UbuntuOne.Common.pdb"
89+ DiskId="1"
90+ Source="build_results\Daemon\Canonical.UbuntuOne.Common.pdb"
91+ KeyPath="yes"/>
92+ </Component>
93+ <Component Id="DaemonProgramComponent"
94+ Guid="f2d91a70-94b5-11df-981c-0800200c9a66">
95+ <File Id="Canonical.UbuntuOne.ProcessDispatcher.exe"
96+ Name="Canonical.UbuntuOne.ProcessDispatcher.exe"
97+ DiskId="1"
98+ Source="build_results\Daemon\Canonical.UbuntuOne.ProcessDispatcher.exe"
99+ KeyPath="yes"/>
100+ <!-- Install, start and stop service using the msi -->
101+ <ServiceInstall Id="ProcessDispatcher.exe"
102+ Name="UbuntuOne"
103+ DisplayName="Ubuntu One Sync Daemon"
104+ Type="ownProcess"
105+ Interactive="no"
106+ Start="auto"
107+ Vital="yes"
108+ ErrorControl="ignore"
109+ Description="Provides a central process that manages the Ubuntu One sync daemon." />
110+ <ServiceControl Id="ProcessDispatcherControl"
111+ Name="UbuntuOne"
112+ Start="install"
113+ Stop="uninstall"
114+ Remove="uninstall"
115+ Wait="yes" />
116+ </Component>
117+ <Component Id="DaemonProgramComponentConfig"
118+ Guid="6ac2f100-94bb-11df-981c-0800200c9a66">
119+ <File Id="Canonical.UbuntuOne.ProcessDispatcher.exe.config"
120+ Name="Canonical.UbuntuOne.ProcessDispatcher.exe.config"
121+ DiskId="1"
122+ Source="build_results\Daemon\Canonical.UbuntuOne.ProcessDispatcher.exe.config"
123+ KeyPath="yes"/>
124+ </Component>
125+ <Component Id="DaemonProgramPdbComponent"
126+ Guid="052b3280-94b6-11df-981c-0800200c9a66">
127+ <File Id="Canonical.UbuntuOne.ProcessDispatcher.pdb"
128+ Name="Canonical.UbuntuOne.ProcessDispatcher.pdb"
129+ DiskId="1"
130+ Source="build_results\Daemon\Canonical.UbuntuOne.ProcessDispatcher.pdb"
131+ KeyPath="yes"/>
132+ </Component>
133+ <Component Id="CommonLoggingComponent"
134+ Guid="24d7ded0-94b6-11df-981c-0800200c9a66">
135+ <File Id="Common.Logging.dll"
136+ Name="Common.Logging.dll"
137+ DiskId="1"
138+ Source="build_results\Daemon\Common.Logging.dll"
139+ KeyPath="yes"/>
140+ </Component>
141+ <Component Id="Log4NetComponent"
142+ Guid="0eafc310-94b7-11df-981c-0800200c9a66">
143+ <File Id="log4net.dll"
144+ Name="log4net.dll"
145+ DiskId="1"
146+ Source="build_results\Daemon\log4net.dll"
147+ KeyPath="yes"/>
148+ </Component>
149+ <Component Id="ProtobufNetComponent"
150+ Guid="24d3a3a0-94b7-11df-981c-0800200c9a66">
151+ <File Id="protobufnet.dll"
152+ Name="protobuf-net.dll"
153+ DiskId="1"
154+ Source="build_results\Daemon\protobuf-net.dll"
155+ KeyPath="yes"/>
156+ </Component>
157+ <Component Id="ProtobufPdbComponent"
158+ Guid="309dd3e0-94b7-11df-981c-0800200c9a66">
159+ <File Id="protobufnet.pdb"
160+ Name="protobuf-net.pdb"
161+ DiskId="1"
162+ Source="build_results\Daemon\protobuf-net.pdb"
163+ KeyPath="yes"/>
164+ </Component>
165+ <Component Id="ProtobufConfigComponent"
166+ Guid="44ba72c0-94b7-11df-981c-0800200c9a66">
167+ <File Id="protobufnet.xml"
168+ Name="protobuf-net.xml"
169+ DiskId="1"
170+ Source="build_results\Daemon\protobuf-net.xml"
171+ KeyPath="yes"/>
172+ </Component>
173+ <Component Id="SpringAopComponent"
174+ Guid="5431cc80-94b7-11df-981c-0800200c9a66">
175+ <File Id="Spring.Aop.dll"
176+ Name="Spring.Aop.dll"
177+ DiskId="1"
178+ Source="build_results\Daemon\Spring.Aop.dll"
179+ KeyPath="yes"/>
180+ </Component>
181+ <Component Id="SpringAopConfigComponent"
182+ Guid="668e92f0-94b7-11df-981c-0800200c9a66">
183+ <File Id="Spring.Aop.xml"
184+ Name="Spring.Aop.xml"
185+ DiskId="1"
186+ Source="build_results\Daemon\Spring.Aop.xml"
187+ KeyPath="yes"/>
188+ </Component>
189+ <Component Id="SpringCoreComponent"
190+ Guid="7780a5d0-94b7-11df-981c-0800200c9a66">
191+ <File Id="Spring.Core.dll"
192+ Name="Spring.Core.dll"
193+ DiskId="1"
194+ Source="build_results\Daemon\Spring.Core.dll"
195+ KeyPath="yes"/>
196+ </Component>
197+ <Component Id="SpringCoreConfigComponent"
198+ Guid="8149fd00-94b7-11df-981c-0800200c9a66">
199+ <File Id="Spring.Core.xml"
200+ Name="Spring.Core.xml"
201+ DiskId="1"
202+ Source="build_results\Daemon\Spring.Core.xml"
203+ KeyPath="yes"/>
204+ </Component>
205+ </Directory>
206 </Directory>
207 </Directory>
208- <Directory Id="TOMBOY_INSTALLDIR"
209- Name="Tomboy">
210-
211- </Directory>
212 </Directory>
213 </Directory>
214
215@@ -59,13 +188,25 @@
216 Level="1"
217 Title="Ubuntu One"
218 Description="Ubuntu One is the personal cloud service that simplifies your digital life.">
219+ <ComponentRef Id="DaemonCommonLibComponent" />
220+ <ComponentRef Id="DaemonCommonPdbComponent" />
221+ <ComponentRef Id="CommonLoggingComponent" />
222+ <ComponentRef Id="Log4NetComponent" />
223+ <ComponentRef Id="ProtobufNetComponent" />
224+ <ComponentRef Id="ProtobufPdbComponent" />
225+ <ComponentRef Id="ProtobufConfigComponent" />
226+ <ComponentRef Id="SpringAopComponent" />
227+ <ComponentRef Id="SpringAopConfigComponent" />
228+ <ComponentRef Id="SpringCoreComponent" />
229+ <ComponentRef Id="SpringCoreConfigComponent" />
230+ <ComponentRef Id="DaemonProgramComponent" />
231+ <ComponentRef Id="DaemonProgramComponentConfig" />
232+ <ComponentRef Id="DaemonProgramPdbComponent" />
233 </Feature>
234-
235+
236 <!-- Provide the UI extensions to be used -->
237 <UIRef Id="WixUI_Mondo" />
238 <UIRef Id="WixUI_ErrorProgressText" />
239- <!-- Properties used -->
240-
241
242 <!-- UI settings, to be defined by the design team -->
243 <!-- <WixVariable Id="WixUILicenseRtf" Value="path\License.rtf" />
244
245=== modified file 'main.build'
246--- main.build 2010-07-19 11:10:37 +0000
247+++ main.build 2010-07-22 17:01:47 +0000
248@@ -2,6 +2,7 @@
249
250 <!-- the enviroment property allows to select which enviroment we are compiling to -->
251 <property name="enviroment" value="debug" />
252+ <property name="build_results" value="install/build_results" />
253
254 <target name="clean"
255 description="Removes all the different results of the last comilation if they exist">
256@@ -39,11 +40,9 @@
257 <delete dir="src/Canonical.UbuntuOne.ProcessDispatcher.Tests/bin" if="${directory::exists('src/Canonical.UbuntuOne.ProcessDispatcher.Tests/bin')}" />
258 <delete dir="src/Canonical.UbuntuOne.ProcessDispatcher.Tests/obj" if="${directory::exists('src/Canonical.UbuntuOne.ProcessDispatcher.Tests/obj')}" />
259
260- <echo>Clean the data from tomboy</echo>
261+ <echo>Clean the data from the msi</echo>
262
263- <delete file="tomboy.msi" if="${file::exists('tomboy.msi')}" />
264- <delete file="tomboy.wxs" if="${file::exists('tomboy.wxs')}" />
265- <delete dir="install/tomboy" if="${directory::exists('install/tomboy')}" />
266+ <delete dir="${build_results}" if="${directory::exists('${build_results}')}" />
267
268 </target>
269
270@@ -142,19 +141,32 @@
271 description="Compiles the solution and create a merge installer that allows to install the solution and other related apps."
272 depends="build">
273
274+ <mkdir dir="${build_results}" />
275+
276+ <!-- The results from the build will have to be copied to a build result folder in install so that we do can build the msi -->
277+ <copy todir="${build_results}/Daemon" flatten="true">
278+ <fileset basedir="src/Canonical.UbuntuOne.ProcessDispatcher/bin/${enviroment}">
279+ <include name="*.dll" />
280+ <include name="*.pdb" />
281+ <include name="*.xml" />
282+ <include name="*.config" />
283+ <include name="*.exe" />
284+ </fileset>
285+ </copy>
286+
287 <!-- wix compiler -->
288 <exec basedir="tools/Wix/bin"
289 managed="true"
290 workingdir="install"
291 program="candle.exe"
292- commandline=" UbuntuOne.wxs"/>
293+ commandline="-ext WixUIExtension -ext WixUtilExtension UbuntuOne.wxs"/>
294
295 <!-- wix linker -->
296 <exec basedir="tools/Wix/bin"
297 managed="true"
298 workingdir="install"
299 program="light.exe"
300- commandline="-out UbuntuOne.msi -ext WixUIExtension UbuntuOne.wixobj"/>
301+ commandline="-out UbuntuOne.msi -ext WixUIExtension -ext WixUtilExtension UbuntuOne.wixobj"/>
302
303
304 </target>

Subscribers

People subscribed via source and target branches

to all changes: