Minore build script fixups
[moonshot-ui.git] / windows / app.wxs
1 <?xml version='1.0'?>
2 <Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>
3   <?include .\config.wxi ?>
4
5   <Product Id='$(var.ProductGuid)'
6            Language='1033'
7            Manufacturer='$(var.Manufacturer)'
8            Name='$(var.ProductName)'
9            Version='$(var.ProductVersion)'
10            UpgradeCode='$(var.UpgradeGuid)'>
11
12     <Package Id="*"
13              Description='$(var.PackageDescription)'
14              Keywords='$(var.PackageKeywords)'
15              Manufacturer='$(var.Manufacturer)'
16              Platform='$(var.PackagePlatform)'
17              InstallerVersion='200'
18              Compressed='yes' />
19
20     <Media Id='1' Cabinet='app.cab' EmbedCab='yes' />
21
22     <Directory Id='TARGETDIR' Name='SourceDir'>
23       <Directory Id='ProgramFilesFolder' Name='PFiles'>
24         <Directory Id='INSTALLDIR' Name='Moonshot'>
25           <Directory Id='BINDIR' Name='bin'>
26             <Component Id='MainExe' Guid='37D8BA2D-40E0-475D-BF50-6328A9E269FE'>
27               <File Id='MainExe'
28                     Name='moonshot.exe'
29                     DiskId='1'
30                     Source='src/.libs/moonshot.exe'
31                     KeyPath='yes'>
32                 <Shortcut Id='startmenu'
33                           Directory='ProgramMenuDir'
34                           Name='$(var.ProductName)'
35                           WorkingDirectory='INSTALLDIR'
36                           Advertise='yes' />
37                 <Shortcut Id='desktop'
38                           Directory='DesktopFolder'
39                           Name='$(var.ProductName)'
40                           WorkingDirectory='INSTALLDIR'
41                           Advertise='yes' />
42               </File>
43             </Component>
44
45             <Component Id='WebProvisionExe' Guid='E150A9E2-3429-4082-9919-557EDAEFB43F'>
46               <!-- FIXME: to add the icon for these associations, see the following:
47                    http://wix.tramontana.co.hu/tutorial/getting-started/beyond-files
48                    http://stackoverflow.com/questions/138550/how-to-register-file-types-extensions-with-a-wix-installer
49                 -->
50               <File Id='WebProvisionExe'
51                     Name='moonshot-webp.exe'
52                     DiskId='1'
53                     Source='src/.libs/moonshot-webp.exe'
54                     KeyPath='yes' />
55
56               <ProgId Id="Moonshot.Identity" Description="Moonshot Identity">
57                 <Extension Id="msht" ContentType="application/moonshot+xml">
58                   <Verb Id="install"
59                         Command="install"
60                         TargetFile="WebProvisionExe"
61                         Argument="&quot;%1&quot;" />
62                 </Extension>
63               </ProgId>
64             </Component>
65
66             <!-- General deps -->
67             <Component Id='Deps' Guid='4668773A-2486-4BF5-9AFE-A6595F1A3EB9'>
68               <File Id="MSRPC_MINGW.DLL" Name="msrpc-mingw.dll" Source="bin\msrpc-mingw.dll" />
69               <File Id="MSRPC_GLIB2.DLL" Name="msrpc-glib2.dll" Source="bin\msrpc-glib2.dll" />
70               <File Id="LIBMOONSHOT_1.DLL" Name="libmoonshot-1.dll" Source="libmoonshot/.libs/libmoonshot-1.dll" />
71                                 <File Id="LIBGEE_2.DLL" Name="libgee-2.dll" Source="bin\libgee-2.dll" />
72               <File Id="PTHREADGC2.DLL" Name="pthreadGC2.dll" Source="bin\pthreadGC2.dll" />
73             </Component>
74
75             <!-- Gtk+ runtime - /bin -->
76             <Component Id='Gtk2BinFiles' Guid='DB587042-E204-4D76-9372-8B6B03642377'>
77               <!-- Included in mingw -->
78               <File Id="LIBEXPAT_1.DLL" Name="libexpat-1.dll" Source="bin\libexpat-1.dll"/>
79               <File Id="LIBINTL_8.DLL" Name="libintl-8.dll" Source="bin\libintl-8.dll" />
80               <File Id="LIBICONV_2.DLL" Name="libiconv-2.dll" Source="bin\libiconv-2.dll" />
81
82               <!-- From Gtk+ binary packages, etc. -->
83
84               <File Id="FREETYPE6.DLL" Name="freetype6.dll" Source="bin\freetype6.dll"/>
85               <File Id="GDK_PIXBUF_QUERY_LOADERS.EXE" Name="gdk-pixbuf-query-loaders.exe" Source="bin\gdk-pixbuf-query-loaders.exe" />
86               <File Id="GSPAWN_WIN32_HELPER_CONSOLE.EXE" Name="gspawn-win32-helper-console.exe" Source="bin\gspawn-win32-helper-console.exe" />
87               <File Id="GSPAWN_WIN32_HELPER.EXE" Name="gspawn-win32-helper.exe" Source="bin\gspawn-win32-helper.exe" />
88               <File Id="GTK_QUERY_IMMODULES_2.0.EXE" Name="gtk-query-immodules-2.0.exe" Source="bin\gtk-query-immodules-2.0.exe" />
89               <File Id="INTL.DLL" Name="intl.dll" Source="bin\intl.dll" />
90               <File Id="LIBATK_1.0_0.DLL" Name="libatk-1.0-0.dll" Source="bin\libatk-1.0-0.dll" />
91               <File Id="LIBCAIRO_2.DLL" Name="libcairo-2.dll" Source="bin\libcairo-2.dll" />
92               <File Id="LIBCAIRO_GOBJECT_2.DLL" Name="libcairo-gobject-2.dll" Source="bin\libcairo-gobject-2.dll" />
93               <File Id="LIBCAIRO_SCRIPT_INTERPRETER_2.DLL" Name="libcairo-script-interpreter-2.dll" Source="bin\libcairo-script-interpreter-2.dll" />
94               <File Id="LIBFONTCONFIG_1.DLL" Name="libfontconfig-1.dll" Source="bin\libfontconfig-1.dll" />
95               <File Id="LIBGAILUTIL_18.DLL" Name="libgailutil-18.dll" Source="bin\libgailutil-18.dll" />
96               <File Id="LIBGCC_S_DW2_1.DLL" Name="libgcc_s_dw2-1.dll" Source="bin\libgcc_s_dw2-1.dll" />
97               <File Id="LIBGDK_WIN32_2.0_0.DLL" Name="libgdk-win32-2.0-0.dll" Source="bin\libgdk-win32-2.0-0.dll" />
98               <File Id="LIBGDK_PIXBUF_2.0_0.DLL" Name="libgdk_pixbuf-2.0-0.dll" Source="bin\libgdk_pixbuf-2.0-0.dll" />
99               <File Id="LIBGIO_2.0_0.DLL" Name="libgio-2.0-0.dll" Source="bin\libgio-2.0-0.dll" />
100               <File Id="LIBGLIB_2.0_0.DLL" Name="libglib-2.0-0.dll" Source="bin\libglib-2.0-0.dll" />
101               <File Id="LIBGMODULE_2.0_0.DLL" Name="libgmodule-2.0-0.dll" Source="bin\libgmodule-2.0-0.dll" />
102               <File Id="LIBGOBJECT_2.0_0.DLL" Name="libgobject-2.0-0.dll" Source="bin\libgobject-2.0-0.dll" />
103               <File Id="LIBGTHREAD_2.0_0.DLL" Name="libgthread-2.0-0.dll" Source="bin\libgthread-2.0-0.dll" />
104               <File Id="LIBGTK_WIN32_2.0_0.DLL" Name="libgtk-win32-2.0-0.dll" Source="bin\libgtk-win32-2.0-0.dll" />
105               <File Id="LIBPANGO_1.0_0.DLL" Name="libpango-1.0-0.dll" Source="bin\libpango-1.0-0.dll" />
106               <File Id="LIBPANGOCAIRO_1.0_0.DLL" Name="libpangocairo-1.0-0.dll" Source="bin\libpangocairo-1.0-0.dll" />
107               <File Id="LIBPANGOFT2_1.0_0.DLL" Name="libpangoft2-1.0-0.dll" Source="bin\libpangoft2-1.0-0.dll" />
108               <File Id="LIBPANGOWIN32_1.0_0.DLL" Name="libpangowin32-1.0-0.dll" Source="bin\libpangowin32-1.0-0.dll" />
109               <File Id="LIBPNG14_14.DLL" Name="libpng14-14.dll" Source="bin\libpng14-14.dll" />
110               <File Id="PANGO_QUERYMODULES.EXE" Name="pango-querymodules.exe" Source="bin\pango-querymodules.exe" />
111               <File Id="ZLIB1.DLL" Name="zlib1.dll" Source="bin\zlib1.dll" />
112             </Component>
113           </Directory>
114
115           <Directory Id="LIB" Name="lib">
116             <Directory Id="ENGINES_GTK_2.0" Name="gtk-2.0">
117               <Directory Id="ENGINES_2.10.0" Name="2.10.0">
118                 <Directory Id="ENGINES" Name="engines">
119                   <Component Id="Gtk2ThemeEngineFiles" Guid='4AC288CB-882E-42A7-8FE7-A7019632F490'>
120                     <File Id="LIBPIXMAP.DLL" Name="libpixmap.dll" Source="lib\gtk-2.0\2.10.0\engines\libpixmap.dll" />
121                     <File Id="LIBWIMP.DLL" Name="libwimp.dll" Source="lib\gtk-2.0\2.10.0\engines\libwimp.dll" />
122                   </Component>
123                 </Directory>
124               </Directory>
125             </Directory>
126           </Directory>
127
128           <Directory Id="SHARE" Name="share">
129             <Directory Id="THEMES" Name="themes">
130               <Directory Id="MS_WINDOWS" Name="MS-Windows">
131                 <Directory Id="THEMES_GTK_2.0" Name="gtk-2.0">
132                   <Component Id="Gtk2ThemeRcFiles" Guid="045EAADC-162A-42B3-BD8D-2521AB2F0B0F">
133                     <File Id="THEMES_GTKRC" Name="gtkrc" Source="share\themes\MS-Windows\gtk-2.0\gtkrc" />
134                   </Component>
135                 </Directory>
136               </Directory>
137             </Directory>
138
139             <Directory Id="ICONS" Name="icons">
140               <Component Id="Icons" Guid="413C032F-002A-4E81-B320-9EF64248E22D">
141                 <File Id="AVATAR_DEFAULT" Name="avatar-default.png" Source="share\icons\avatar-default.png" />
142                 <File Id="EDIT_CLEAR_SYMBOLIC" Name="edit-clear-symbolic.png" Source="share\icons\edit-clear-symbolic.png" />
143                 <File Id="EDIT_FIND_SYMBOLIC" Name="edit-find-symbolic.png" Source="share\icons\edit-find-symbolic.png" />
144               </Component>
145             </Directory>
146           </Directory>
147         </Directory>
148       </Directory>
149
150       <Directory Id='ProgramMenuFolder' Name='Programs'>
151         <Directory Id='ProgramMenuDir' Name='$(var.ProductName)'>
152           <Component Id='ProgramMenuDir' Guid='$(var.ProgramMenuDirGuid)'>
153             <RemoveFolder Id='ProgramMenuDir' On='uninstall' />
154             <RegistryValue Root='HKCU' Key='Software\Moonshot' Type='string' Value='' KeyPath='yes' />
155           </Component>
156         </Directory>
157       </Directory>
158
159       <Directory Id='DesktopFolder' Name='Desktop' />
160
161       <Component Id='RegistryEntries' Guid='7251DB79-DC03-4868-9855-41104164E5BA'>
162         <RegistryKey Root='HKLM'
163                      Key='Software\Moonshot'
164                      Action='createAndRemoveOnUninstall'>
165           <RegistryValue Type="string" Value="[BINDIR]/moonshot.exe" />
166         </RegistryKey>
167       </Component>
168
169     </Directory>
170
171     <Feature Id='Complete' Level='1'>
172       <ComponentRef Id='MainExe' />
173       <ComponentRef Id='WebProvisionExe' />
174       <ComponentRef Id='Deps' />
175       <ComponentRef Id='ProgramMenuDir' />
176       <ComponentRef Id='Gtk2BinFiles' />
177       <ComponentRef Id='Gtk2ThemeEngineFiles' />
178       <ComponentRef Id='Gtk2ThemeRcFiles' />
179       <ComponentRef Id='Icons' />
180       <ComponentRef Id='RegistryEntries' />
181     </Feature>
182   </Product>
183 </Wix>