summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsr55 <[email protected]>2010-04-21 19:22:58 +0000
committersr55 <[email protected]>2010-04-21 19:22:58 +0000
commit264340057fe7b79509bc1a206583ea1ccab975c0 (patch)
tree48532fee384122274876c39c82976c976940f7fc
parentd14d10a3d6e714dc312fd2d629d352b423623f7d (diff)
WinGui:
- Tag the Assembly Version with the svn revision so the GUI can be identified correctly. This is for the nightly builds. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3250 b64f7644-9d1e-0410-96f1-a4d463321fa5
-rw-r--r--win/C#/HandBrakeCS.csproj5
-rw-r--r--win/C#/Installer/MakeNightly.nsi4
-rw-r--r--win/C#/Installer/MakeNightly.nsi.tmpl149
-rw-r--r--win/C#/Properties/AssemblyInfo.cs3
-rw-r--r--win/C#/Properties/AssemblyInfo.cs.tmpl42
5 files changed, 199 insertions, 4 deletions
diff --git a/win/C#/HandBrakeCS.csproj b/win/C#/HandBrakeCS.csproj
index 9990bc9e9..44b8113ab 100644
--- a/win/C#/HandBrakeCS.csproj
+++ b/win/C#/HandBrakeCS.csproj
@@ -359,6 +359,7 @@
<DesignTime>True</DesignTime>
</Compile>
<None Include="app.config" />
+ <None Include="Installer\MakeNightly.nsi.tmpl" />
<None Include="Installer\MakeNightly.nsi" />
<None Include="Installer\Installer.nsi" />
<None Include="Properties\Settings.settings">
@@ -504,4 +505,8 @@
makensis MakeNightly.nsi
</PostBuildEvent>
</PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)' == 'NightlyBuild' ">
+ <PreBuildEvent>subwcrev.exe "$(ProjectDir)." "$(ProjectDir)Properties\AssemblyInfo.cs.tmpl" "$(ProjectDir)Properties\AssemblyInfo.cs"
+subwcrev.exe "$(ProjectDir)." "$(ProjectDir)Installer\MakeNightly.nsi.tmpl" "$(ProjectDir)Installer\MakeNightly.nsi"</PreBuildEvent>
+ </PropertyGroup>
</Project> \ No newline at end of file
diff --git a/win/C#/Installer/MakeNightly.nsi b/win/C#/Installer/MakeNightly.nsi
index 8e8e38ce7..f1011a4df 100644
--- a/win/C#/Installer/MakeNightly.nsi
+++ b/win/C#/Installer/MakeNightly.nsi
@@ -8,8 +8,8 @@
; HM NIS Edit Wizard helper defines
!define PRODUCT_NAME "Handbrake"
-!define PRODUCT_VERSION "Nightly SVN Snapshot"
-!define PRODUCT_VERSION_NUMBER "Nightly"
+!define PRODUCT_VERSION "3247 Nightly"
+!define PRODUCT_VERSION_NUMBER "svn3247"
!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\Handbrake.exe"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
!define PRODUCT_UNINST_ROOT_KEY "HKLM"
diff --git a/win/C#/Installer/MakeNightly.nsi.tmpl b/win/C#/Installer/MakeNightly.nsi.tmpl
new file mode 100644
index 000000000..26f177d53
--- /dev/null
+++ b/win/C#/Installer/MakeNightly.nsi.tmpl
@@ -0,0 +1,149 @@
+/* Resources.Designer.cs $
+
+ This file is part of the HandBrake source code.
+ Homepage: <http://handbrake.fr/>.
+ It may be used under the terms of the GNU General Public License. */
+
+; Script generated by the HM NIS Edit Script Wizard.
+
+; HM NIS Edit Wizard helper defines
+!define PRODUCT_NAME "Handbrake"
+!define PRODUCT_VERSION "$WCREV$ Nightly"
+!define PRODUCT_VERSION_NUMBER "svn$WCREV$"
+!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\Handbrake.exe"
+!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
+!define PRODUCT_UNINST_ROOT_KEY "HKLM"
+
+SetCompressor lzma
+
+; MUI 1.67 compatible ------
+!include "MUI.nsh"
+
+; MUI Settings
+!define MUI_ABORTWARNING
+!define MUI_ICON "handbrakepineapple.ico"
+!define MUI_UNICON "handbrakepineapple.ico"
+
+; Welcome page
+!insertmacro MUI_PAGE_WELCOME
+; License page
+!insertmacro MUI_PAGE_LICENSE "doc\COPYING"
+; Directory page
+!insertmacro MUI_PAGE_DIRECTORY
+; Instfiles page
+!insertmacro MUI_PAGE_INSTFILES
+; Finish page
+!define MUI_FINISHPAGE_RUN "$INSTDIR\Handbrake.exe"
+!insertmacro MUI_PAGE_FINISH
+
+; Uninstaller pages
+!insertmacro MUI_UNPAGE_INSTFILES
+
+; Language files
+!insertmacro MUI_LANGUAGE "English"
+
+; MUI end ------
+
+Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
+OutFile "HandBrake-${PRODUCT_VERSION_NUMBER}-Win_GUI.exe"
+
+!include WordFunc.nsh
+!insertmacro VersionCompare
+!include LogicLib.nsh
+
+; Check to see if .NET Framework 2.0 or above is Installed.
+Function .onInit
+ Call GetDotNETVersion
+ Pop $0
+ ${If} $0 == "not found"
+ MessageBox MB_OK|MB_ICONSTOP ".NET runtime library is not installed. $\r$\n You can download .Net Framework 2.0 redistributable from the microsoft website. $\r$\n Alternatively you can use google for a direct download URL"
+ Abort
+ ${EndIf}
+
+ StrCpy $0 $0 "" 1 # skip "v"
+
+ ${VersionCompare} $0 "2.0" $1
+ ${If} $1 == 2
+ MessageBox MB_OK|MB_ICONSTOP ".NET runtime library v2.0 or newer is required. You have $0. $\r$\n You can download .Net Framework 2.0 redistributable from the Microsoft website. $\r$\n Alternatively you can use google for a direct download URL"
+ Abort
+ ${EndIf}
+FunctionEnd
+
+Function GetDotNETVersion
+ Push $0
+ Push $1
+
+ System::Call "mscoree::GetCORVersion(w .r0, i ${NSIS_MAX_STRLEN}, *i) i .r1 ?u"
+ StrCmp $1 "error" 0 +2
+ StrCpy $0 "not found"
+
+ Pop $1
+ Exch $0
+FunctionEnd
+
+
+InstallDir "$PROGRAMFILES\Handbrake"
+InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""
+ShowInstDetails show
+ShowUnInstDetails show
+
+Section "Handbrake" SEC01
+ SetOutPath "$INSTDIR"
+ SetOverwrite ifnewer
+ File "Handbrake.exe"
+ CreateDirectory "$SMPROGRAMS\Handbrake"
+ CreateShortCut "$SMPROGRAMS\Handbrake\Handbrake.lnk" "$INSTDIR\Handbrake.exe"
+ CreateShortCut "$DESKTOP\Handbrake.lnk" "$INSTDIR\Handbrake.exe"
+ File "Interop.QTOLibrary.dll"
+ File "Interop.QTOControlLib.dll"
+ File "AxInterop.QTOControlLib.dll"
+ File "Growl.Connector.dll"
+ File "Growl.CoreLibrary.dll"
+ File "Handbrake.exe.config"
+SectionEnd
+
+Section -AdditionalIcons
+ CreateShortCut "$SMPROGRAMS\Handbrake\Uninstall.lnk" "$INSTDIR\uninst.exe"
+SectionEnd
+
+Section -Post
+ WriteUninstaller "$INSTDIR\uninst.exe"
+ WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\Handbrake.exe"
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\Handbrake.exe"
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
+SectionEnd
+
+
+Function un.onUninstSuccess
+ HideWindow
+ MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was successfully removed from your computer."
+FunctionEnd
+
+Function un.onInit
+ MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to completely remove $(^Name) and all of its components?" IDYES +2
+ Abort
+FunctionEnd
+
+Section Uninstall
+ Delete "$INSTDIR\uninst.exe"
+
+ Delete "$INSTDIR\Interop.QTOLibrary.dll"
+ Delete "$INSTDIR\Interop.QTOControlLib.dll"
+ Delete "$INSTDIR\AxInterop.QTOControlLib.dll"
+ Delete "$INSTDIR\Handbrake.exe"
+ Delete "$INSTDIR\Handbrake.exe.config"
+ Delete "$INSTDIR\Growl.Connector.dll"
+ Delete "$INSTDIR\Growl.CoreLibrary.dll"
+ RMDir "$INSTDIR"
+ Delete "$SMPROGRAMS\Handbrake\Uninstall.lnk"
+ Delete "$DESKTOP\Handbrake.lnk"
+ Delete "$SMPROGRAMS\Handbrake\Handbrake.lnk"
+ RMDir "$SMPROGRAMS\Handbrake"
+ RMDir "$INSTDIR"
+
+ DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
+ DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"
+ SetAutoClose true
+SectionEnd \ No newline at end of file
diff --git a/win/C#/Properties/AssemblyInfo.cs b/win/C#/Properties/AssemblyInfo.cs
index 0068ddd25..85dbe5e50 100644
--- a/win/C#/Properties/AssemblyInfo.cs
+++ b/win/C#/Properties/AssemblyInfo.cs
@@ -38,6 +38,5 @@ using System.Runtime.InteropServices;
// Revision
//
-[assembly: AssemblyVersion("0.9.4.4")]
-[assembly: AssemblyFileVersion("0.9.4.4")]
+[assembly: AssemblyVersion("0.9.4.3247")]
[assembly: NeutralResourcesLanguage("")] \ No newline at end of file
diff --git a/win/C#/Properties/AssemblyInfo.cs.tmpl b/win/C#/Properties/AssemblyInfo.cs.tmpl
new file mode 100644
index 000000000..eab0c05a7
--- /dev/null
+++ b/win/C#/Properties/AssemblyInfo.cs.tmpl
@@ -0,0 +1,42 @@
+/* AssemblyInfo.cs $
+ This file is part of the HandBrake source code.
+ Homepage: <http://handbrake.fr>.
+ It may be used under the terms of the GNU General Public License. */
+
+using System.Reflection;
+using System.Resources;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+
+[assembly: AssemblyTitle("HandBrake")]
+[assembly: AssemblyDescription("HandBrake is a GPL-licensed, multiplatform, multithreaded video transcoder.")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("HandBrake")]
+[assembly: AssemblyProduct("HandBrake")]
+[assembly: AssemblyCopyright("Copyright © 2010")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+
+[assembly: Guid("5e4e3f97-5252-41f6-aae9-3846f62cbc66")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+
+[assembly: AssemblyVersion("0.9.4.$WCREV$")]
+[assembly: NeutralResourcesLanguage("")] \ No newline at end of file