[banshee] windows: Reorganize, clean up installer build dir



commit 3d66b85ad1956ea35e1213a4be7c6f366c9c34ce
Author: Gabriel Burt <gabriel burt gmail com>
Date:   Wed Jan 26 22:01:15 2011 -0600

    windows: Reorganize, clean up installer build dir

 .../{WixSetup.wixproj => Installer.wixproj}        |   19 ++++++-------------
 .../{Product.wxs => InstallerDefinition.wxs}       |    5 +++--
 build/windows/README.txt                           |   13 +++++++++++++
 build/windows/WixSetup.sln                         |   20 --------------------
 build/windows/{build.js => build-installer.js}     |   18 +++++++++++-------
 5 files changed, 33 insertions(+), 42 deletions(-)
---
diff --git a/build/windows/WixSetup.wixproj b/build/windows/Installer.wixproj
similarity index 68%
rename from build/windows/WixSetup.wixproj
rename to build/windows/Installer.wixproj
index b00ff28..ebe2921 100644
--- a/build/windows/WixSetup.wixproj
+++ b/build/windows/Installer.wixproj
@@ -1,29 +1,22 @@
 <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
   <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
     <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
     <ProductVersion>3.0</ProductVersion>
     <ProjectGuid>{33f58ffc-956e-4079-b27a-160a57ffea7a}</ProjectGuid>
     <SchemaVersion>2.0</SchemaVersion>
     <OutputName>Banshee-1.9.3</OutputName>
     <OutputType>Package</OutputType>
+    <ApplicationIcon>..\..\data\banshee.ico</ApplicationIcon>
+    <OutputPath>.</OutputPath>
+    <IntermediateOutputPath>obj\</IntermediateOutputPath>
     <WixTargetsPath Condition=" '$(WixTargetsPath)' == '' ">$(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>
   </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
-    <OutputPath>bin\$(Configuration)\</OutputPath>
-    <IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
-    <DefineConstants>Debug</DefineConstants>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
-    <OutputPath>bin\$(Configuration)\</OutputPath>
-    <IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
-  </PropertyGroup>
   <ItemGroup>
-    <Compile Include="Product.wxs" />
+    <Compile Include="InstallerDefinition.wxs" />
   </ItemGroup>
   <ItemGroup>
-    <None Include="binaries.wxi" />
-    <None Include="share.wxi" />
+    <None Include="generated_binaries.wxi" />
+    <None Include="generated_share.wxi" />
   </ItemGroup>
   <ItemGroup>
     <WixExtension Include="WixNetFxExtension">
diff --git a/build/windows/Product.wxs b/build/windows/InstallerDefinition.wxs
similarity index 97%
rename from build/windows/Product.wxs
rename to build/windows/InstallerDefinition.wxs
index f62adf8..3524b4b 100644
--- a/build/windows/Product.wxs
+++ b/build/windows/InstallerDefinition.wxs
@@ -92,8 +92,9 @@
     <!-- This is for the icon that is shown in the Add/Remove Programs dialog and menu shortcut -->
     <Icon Id="Nereid.exe" SourceFile="Bitmaps\Banshee.ico" />
     <Property Id="ARPPRODUCTICON" Value="Nereid.exe" />
+    <Property Id="ARPHELPLINK" Value="http://banshee.fm/"; />
   </Product>
 
-  <?include share.wxi ?>
-  <?include binaries.wxi ?>
+  <?include generated_share.wxi ?>
+  <?include generated_binaries.wxi ?>
 </Wix>
diff --git a/build/windows/README.txt b/build/windows/README.txt
new file mode 100644
index 0000000..ba1ebdc
--- /dev/null
+++ b/build/windows/README.txt
@@ -0,0 +1,13 @@
+== Building
+
+See http://banshee.fm/download/development/#windows for instructions for building Banshee on Windows.
+
+== Creating the Banshee.msi installer
+
+You need
+- WIX 3.5
+- GStreamer and GStreamer# (DotNet bindings)
+- Gtk#
+- Banshee built
+
+With that, you should be able to run build-installer.js and have it produce the installer.
diff --git a/build/windows/build.js b/build/windows/build-installer.js
similarity index 72%
rename from build/windows/build.js
rename to build/windows/build-installer.js
index 6df5cf0..ac0fd51 100644
--- a/build/windows/build.js
+++ b/build/windows/build-installer.js
@@ -6,6 +6,9 @@ var version = "1.9.3";
 var sh = new ActiveXObject("WScript.Shell");
 var fs = new ActiveXObject("Scripting.FileSystemObject");
 
+// FIXME if heat isn't here, it might be at v3.x\bin
+var heat = "\"C:\\Program Files\\Windows Installer XML v3.5\\bin\\heat.exe\"";
+
 // Build Banshee
 //build ("..\\..\\Banshee.sln");
 
@@ -23,19 +26,20 @@ run ('xcopy /D ..\\..\\bin\\gst-plugins\\* dlls\\gst-plugins\\');
 if (fs.FileExists ("dlls\\Nereid.exe")) fs.DeleteFile ("dlls\\Nereid.exe");
 
 // Generate the list of binary files (managed and native .dlls and .pdb and .config files)
-run ('heat dir dlls -cg binaries -srd -scom -sreg -ag -sfrag -suid -indent 2 -var var.BinDir -dr INSTALLLOCATION -out binaries.wxi');
+run (heat + ' dir dlls -cg binaries -srd -scom -sreg -ag -sfrag -suid -indent 2 -var var.BinDir -dr INSTALLLOCATION -out generated_binaries.wxi');
+if (fs.FolderExists ("dlls")) fs.DeleteFolder ("dlls");
 
 // Heat has no option to output Include (wxi) files instead of Wix (wxs) ones, so do a little regex
-regexreplace ('binaries.wxi', /Wix xmlns/, 'Include xmlns');
-regexreplace ('binaries.wxi', /Wix>/, 'Include>');
+regexreplace ('generated_binaries.wxi', /Wix xmlns/, 'Include xmlns');
+regexreplace ('generated_binaries.wxi', /Wix>/, 'Include>');
 
 // Generate the list of files in share/ (icons, i18n, and GStreamer audio-profiles)
-run ('heat dir ..\\..\\bin\\share -cg share -scom -ag -sfrag -suid -indent 2 -var var.ShareDir -dr INSTALLLOCATION -out share.wxi');
-regexreplace ('share.wxi', /Wix xmlns/, 'Include xmlns');
-regexreplace ('share.wxi', /Wix>/, 'Include>');
+run (heat + ' dir ..\\..\\bin\\share -cg share -scom -ag -sfrag -suid -indent 2 -var var.ShareDir -dr INSTALLLOCATION -out generated_share.wxi');
+regexreplace ('generated_share.wxi', /Wix xmlns/, 'Include xmlns');
+regexreplace ('generated_share.wxi', /Wix>/, 'Include>');
 
 // Create the installer, will be outputted to bin/Debug/
-build ("WixSetup.sln")
+build ("Installer.wixproj")
 
 WScript.Echo ("Setup successfully generated");
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]