Install web provisioning handler
authorSam Thursfield <samthursfield@codethink.co.uk>
Tue, 19 Jul 2011 10:26:26 +0000 (11:26 +0100)
committerSam Thursfield <samthursfield@codethink.co.uk>
Tue, 19 Jul 2011 10:26:26 +0000 (11:26 +0100)
windows/app.wxs
windows/config.wxi

index b0c66d8..737ae7a 100644 (file)
       <Directory Id='ProgramFilesFolder' Name='PFiles'>
         <Directory Id='INSTALLDIR' Name='Moonshot'>
           <Directory Id='BINDIR' Name='bin'>
-            <Component Id='MainExe' Guid='$(var.MainExeGuid)'>
+            <Component Id='MainExe' Guid='37D8BA2D-40E0-475D-BF50-6328A9E269FE'>
               <File Id='MainExe'
-                    Name='$(var.MainExeFile)'
+                    Name='moonshot.exe'
                     DiskId='1'
-                    Source='$(var.MainExeSource)'
+                    Source='src/.libs/moonshot.exe'
                     KeyPath='yes'>
                 <Shortcut Id='startmenu'
                           Directory='ProgramMenuDir'
               </File>
             </Component>
 
+            <Component Id='WebProvisionExe' Guid='E150A9E2-3429-4082-9919-557EDAEFB43F'>
+              <!-- FIXME: to add the icon for these associations, see the following:
+                   http://wix.tramontana.co.hu/tutorial/getting-started/beyond-files
+                   http://stackoverflow.com/questions/138550/how-to-register-file-types-extensions-with-a-wix-installer
+                -->
+              <File Id='WebProvisionExe'
+                    Name='moonshot-webp.exe'
+                    DiskId='1'
+                    Source='src/.libs/moonshot-webp.exe'
+                    KeyPath='yes' />
+
+              <ProgId Id="Moonshot.Identity" Description="Moonshot Identity">
+                <Extension Id="msht" ContentType="application/moonshot+xml">
+                  <Verb Id="install"
+                        Command="install"
+                        TargetFile="WebProvisionExe"
+                        Argument="&quot;%1&quot;" />
+                </Extension>
+              </ProgId>
+            </Component>
+
             <!-- General deps -->
             <Component Id='Deps' Guid='4668773A-2486-4BF5-9AFE-A6595F1A3EB9'>
-              <File Id="MSRPC_MINGW.DLL" Name="msrpc-mingw.dll" Source="bin\msrpc-mingw.dll"/>
+              <File Id="MSRPC_MINGW.DLL" Name="msrpc-mingw.dll" Source="bin\msrpc-mingw.dll" />
               <File Id="MSRPC_GLIB2.DLL" Name="msrpc-glib2.dll" Source="bin\msrpc-glib2.dll" />
+              <File Id="LIBMOONSHOT_0.DLL" Name="libmoonshot-0.dll" Source="libmoonshot/.libs/libmoonshot-0.dll" />
             </Component>
 
             <!-- Gtk+ runtime - /bin -->
         <RegistryKey Root='HKLM'
                      Key='Software\Moonshot'
                      Action='createAndRemoveOnUninstall'>
-          <RegistryValue Type="string" Value="[BINDIR]$(var.MainExeFile)" />
+          <RegistryValue Type="string" Value="[BINDIR]/moonshot.exe" />
         </RegistryKey>
       </Component>
 
 
     <Feature Id='Complete' Level='1'>
       <ComponentRef Id='MainExe' />
+      <ComponentRef Id='WebProvisionExe' />
       <ComponentRef Id='Deps' />
       <ComponentRef Id='ProgramMenuDir' />
       <ComponentRef Id='Gtk2BinFiles' />
index eafee6e..b8ffc38 100644 (file)
@@ -8,13 +8,10 @@
   <?define PackageDescription = "Moonshot Installer" ?>
   <?define PackageKeywords    = "Installer" ?>
   <?define PackagePlatform    = "x86" ?>
-  <?define MainExeFile        = "moonshot.exe" ?>
-  <?define MainExeSource      = "src/.libs/moonshot.exe" ?>
   <?define Language           = "1033" ?>
 <!-- GUIDs -->
   <?define ProductGuid = "12259E08-76D6-4D9A-8BFA-D720882E8391" ?>
   <?define UpgradeGuid = "997127DE-C0fE-4F60-89F9-F119EF4EB983" ?>
-  <?define MainExeGuid = "37D8BA2D-40E0-475D-BF50-6328A9E269FE" ?>
   <?define ProgramMenuDirGuid = "704C1DCA-F0C4-47B3-BE52-38BE8140333F" ?>
   <?define DesktopShortcutGuid = "cff6bda0-483f-496e-819f-0fc8874c2b9c" ?>
 </Include>