Update Windows build instructions
[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='$(var.MainExeGuid)'>
27               <File Id='MainExe'
28                     Name='$(var.MainExeFile)'
29                     DiskId='1'
30                     Source='$(var.MainExeSource)'
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             <!-- Gtk+ runtime - /bin -->
46             <Component Id='Gtk2BinFiles' Guid='DB587042-E204-4D76-9372-8B6B03642377'>
47               <!-- Included in mingw -->
48               <File Id="LIBEXPAT_1.DLL" Name="libexpat-1.dll" Source="bin\libexpat-1.dll"/>
49               <File Id="LIBINTL_8.DLL" Name="libintl-8.dll" Source="bin\libintl-8.dll" />
50               <File Id="LIBICONV_2.DLL" Name="libiconv-2.dll" Source="bin\libiconv-2.dll" />
51
52               <!-- From Gtk+ binary packages, etc. -->
53
54               <File Id="FREETYPE6.DLL" Name="freetype6.dll" Source="bin\freetype6.dll"/>
55               <File Id="GDK_PIXBUF_QUERY_LOADERS.EXE" Name="gdk-pixbuf-query-loaders.exe" Source="bin\gdk-pixbuf-query-loaders.exe" />
56               <File Id="GSPAWN_WIN32_HELPER_CONSOLE.EXE" Name="gspawn-win32-helper-console.exe" Source="bin\gspawn-win32-helper-console.exe" />
57               <File Id="GSPAWN_WIN32_HELPER.EXE" Name="gspawn-win32-helper.exe" Source="bin\gspawn-win32-helper.exe" />
58               <File Id="GTK_QUERY_IMMODULES_2.0.EXE" Name="gtk-query-immodules-2.0.exe" Source="bin\gtk-query-immodules-2.0.exe" />
59               <File Id="INTL.DLL" Name="intl.dll" Source="bin\intl.dll" />
60               <File Id="LIBATK_1.0_0.DLL" Name="libatk-1.0-0.dll" Source="bin\libatk-1.0-0.dll" />
61               <File Id="LIBCAIRO_2.DLL" Name="libcairo-2.dll" Source="bin\libcairo-2.dll" />
62               <File Id="LIBCAIRO_GOBJECT_2.DLL" Name="libcairo-gobject-2.dll" Source="bin\libcairo-gobject-2.dll" />
63               <File Id="LIBCAIRO_SCRIPT_INTERPRETER_2.DLL" Name="libcairo-script-interpreter-2.dll" Source="bin\libcairo-script-interpreter-2.dll" />
64               <File Id="LIBFONTCONFIG_1.DLL" Name="libfontconfig-1.dll" Source="bin\libfontconfig-1.dll" />
65               <File Id="LIBGAILUTIL_18.DLL" Name="libgailutil-18.dll" Source="bin\libgailutil-18.dll" />
66               <File Id="LIBGDK_WIN32_2.0_0.DLL" Name="libgdk-win32-2.0-0.dll" Source="bin\libgdk-win32-2.0-0.dll" />
67               <File Id="LIBGDK_PIXBUF_2.0_0.DLL" Name="libgdk_pixbuf-2.0-0.dll" Source="bin\libgdk_pixbuf-2.0-0.dll" />
68               <File Id="LIBGIO_2.0_0.DLL" Name="libgio-2.0-0.dll" Source="bin\libgio-2.0-0.dll" />
69               <File Id="LIBGLIB_2.0_0.DLL" Name="libglib-2.0-0.dll" Source="bin\libglib-2.0-0.dll" />
70               <File Id="LIBGMODULE_2.0_0.DLL" Name="libgmodule-2.0-0.dll" Source="bin\libgmodule-2.0-0.dll" />
71               <File Id="LIBGOBJECT_2.0_0.DLL" Name="libgobject-2.0-0.dll" Source="bin\libgobject-2.0-0.dll" />
72               <File Id="LIBGTHREAD_2.0_0.DLL" Name="libgthread-2.0-0.dll" Source="bin\libgthread-2.0-0.dll" />
73               <File Id="LIBGTK_WIN32_2.0_0.DLL" Name="libgtk-win32-2.0-0.dll" Source="bin\libgtk-win32-2.0-0.dll" />
74               <File Id="LIBPANGO_1.0_0.DLL" Name="libpango-1.0-0.dll" Source="bin\libpango-1.0-0.dll" />
75               <File Id="LIBPANGOCAIRO_1.0_0.DLL" Name="libpangocairo-1.0-0.dll" Source="bin\libpangocairo-1.0-0.dll" />
76               <File Id="LIBPANGOFT2_1.0_0.DLL" Name="libpangoft2-1.0-0.dll" Source="bin\libpangoft2-1.0-0.dll" />
77               <File Id="LIBPANGOWIN32_1.0_0.DLL" Name="libpangowin32-1.0-0.dll" Source="bin\libpangowin32-1.0-0.dll" />
78               <File Id="LIBPNG14_14.DLL" Name="libpng14-14.dll" Source="bin\libpng14-14.dll" />
79               <File Id="PANGO_QUERYMODULES.EXE" Name="pango-querymodules.exe" Source="bin\pango-querymodules.exe" />
80               <File Id="ZLIB1.DLL" Name="zlib1.dll" Source="bin\zlib1.dll" />
81
82               <!-- FIXME: need to use this and then delete it -->
83               <File Id="GTK_UPDATE_ICON_CACHE.EXE" Name="gtk-update-icon-cache.exe" Source="bin\gtk-update-icon-cache.exe" />
84
85             </Component>
86           </Directory>
87
88           <Directory Id="LIB" Name="lib">
89             <Directory Id="ENGINES_GTK_2.0" Name="gtk-2.0">
90               <Directory Id="ENGINES_2.10.0" Name="2.10.0">
91                 <Directory Id="ENGINES" Name="engines">
92                   <Component Id="Gtk2ThemeEngineFiles" Guid='4AC288CB-882E-42A7-8FE7-A7019632F490'>
93                     <File Id="LIBPIXMAP.DLL" Name="libpixmap.dll" Source="lib\gtk-2.0\2.10.0\engines\libpixmap.dll" />
94                     <File Id="LIBWIMP.DLL" Name="libwimp.dll" Source="lib\gtk-2.0\2.10.0\engines\libwimp.dll" />
95                   </Component>
96                 </Directory>
97               </Directory>
98             </Directory>
99           </Directory>
100
101           <Directory Id="SHARE" Name="share">
102             <Directory Id="THEMES" Name="themes">
103               <Directory Id="MS_WINDOWS" Name="MS-Windows">
104                 <Directory Id="THEMES_GTK_2.0" Name="gtk-2.0">
105                   <Component Id="Gtk2ThemeRcFiles" Guid="045EAADC-162A-42B3-BD8D-2521AB2F0B0F">
106                     <File Id="THEMES_GTKRC" Name="gtkrc" Source="share\themes\MS-Windows\gtk-2.0\gtkrc" />
107                   </Component>
108                 </Directory>
109               </Directory>
110             </Directory>
111
112             <Directory Id="ICONS" Name="icons">
113               <Component Id="Icons" Guid="413C032F-002A-4E81-B320-9EF64248E22D">
114                 <File Id="AVATAR_DEFAULT" Name="avatar-default.png" Source="share\icons\avatar-default.png" />
115                 <File Id="EDIT_CLEAR_SYMBOLIC" Name="edit-clear-symbolic.png" Source="share\icons\edit-clear-symbolic.png" />
116                 <File Id="EDIT_FIND_SYMBOLIC" Name="edit-find-symbolic.png" Source="share\icons\edit-find-symbolic.png" />
117               </Component>
118             </Directory>
119           </Directory>
120         </Directory>
121       </Directory>
122
123       <Directory Id='ProgramMenuFolder' Name='Programs'>
124         <Directory Id='ProgramMenuDir' Name='$(var.ProductName)'>
125           <Component Id='ProgramMenuDir' Guid='$(var.ProgramMenuDirGuid)'>
126             <RemoveFolder Id='ProgramMenuDir' On='uninstall' />
127             <RegistryValue Root='HKCU' Key='Software\Moonshot' Type='string' Value='' KeyPath='yes' />
128           </Component>
129         </Directory>
130       </Directory>
131
132       <Directory Id='DesktopFolder' Name='Desktop' />
133
134       <Component Id='RegistryEntries' Guid='7251DB79-DC03-4868-9855-41104164E5BA'>
135         <RegistryKey Root='HKLM'
136                      Key='Software\Moonshot'
137                      Action='createAndRemoveOnUninstall'>
138           <RegistryValue Type="string" Value="[BINDIR]$(var.MainExeFile)" />
139         </RegistryKey>
140       </Component>
141
142     </Directory>
143
144     <Feature Id='Complete' Level='1'>
145       <ComponentRef Id='MainExe' />
146       <ComponentRef Id='ProgramMenuDir' />
147       <ComponentRef Id='Gtk2BinFiles' />
148       <ComponentRef Id='Gtk2ThemeEngineFiles' />
149       <ComponentRef Id='Gtk2ThemeRcFiles' />
150       <ComponentRef Id='Icons' />
151       <ComponentRef Id='RegistryEntries' />
152     </Feature>
153   </Product>
154 </Wix>