-->\r
<PropertyGroup>\r
<PreBuildEvent>\r
- subwcrev.exe "$(ProjectDir)." "$(ProjectDir)Properties\AssemblyInfo.cs.tmpl" "$(ProjectDir)Properties\AssemblyInfo.cs"\r
- subwcrev.exe "$(ProjectDir)." "$(ProjectDir)Properties\AssemblyInfo.cs.tmpl" "$(ProjectDir)Properties\AssemblyInfo.cs"\r
</PreBuildEvent>\r
</PropertyGroup>\r
</Project>
\ No newline at end of file
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{5CB7BC74-449C-4E95-98AB-E1E4387E514B}"\r
ProjectSection(SolutionItems) = preProject\r
build.xml = build.xml\r
+ build2.xml = build2.xml\r
EndProjectSection\r
EndProject\r
Global\r
<None Include="Installer\Installer64.nsi" />\r
<None Include="Installer\MakeNightly64.nsi.tmpl" />\r
<None Include="Installer\MakeNightly.nsi.tmpl" />\r
- <None Include="Installer\MakeNightly.nsi" />\r
<None Include="Installer\Installer.nsi" />\r
</ItemGroup>\r
<ItemGroup>\r
<OutputType>WinExe</OutputType>\r
<AppDesignerFolder>Properties</AppDesignerFolder>\r
<RootNamespace>HandBrakeWPF</RootNamespace>\r
- <AssemblyName>HandBrakeWPF</AssemblyName>\r
+ <AssemblyName>HandBrake</AssemblyName>\r
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>\r
<TargetFrameworkProfile>Client</TargetFrameworkProfile>\r
<FileAlignment>512</FileAlignment>\r
<LastGenOutput>Resources.Designer.cs</LastGenOutput>\r
</EmbeddedResource>\r
<None Include="app.config" />\r
- <None Include="Installer\MakeAlpha.nsi.tmpl" />\r
+ <None Include="Installer\Installer.nsi" />\r
+ <None Include="Installer\Installer64.nsi" />\r
+ <None Include="Installer\MakeNightly.nsi.tmpl" />\r
+ <None Include="Installer\MakeNightly64.nsi.tmpl" />\r
<None Include="Properties\AssemblyInfo.cs.tmpl" />\r
<None Include="Properties\Settings.settings">\r
<Generator>SettingsSingleFileGenerator</Generator>\r
--- /dev/null
+/* Resources.Designer.cs $\r
+\r
+ This file is part of the HandBrake source code.\r
+ Homepage: <http://handbrake.fr/>.\r
+ It may be used under the terms of the GNU General Public License. */\r
+\r
+; Script generated by the HM NIS Edit Script Wizard.\r
+\r
+; HM NIS Edit Wizard helper defines\r
+!define PRODUCT_NAME "HandBrake"\r
+!define PRODUCT_VERSION "0.9.7"\r
+!define PRODUCT_VERSION_NUMBER "0.9.7"\r
+!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\Handbrake.exe"\r
+!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"\r
+!define PRODUCT_UNINST_ROOT_KEY "HKLM"\r
+\r
+;Required .NET framework\r
+!define MIN_FRA_MAJOR "4"\r
+!define MIN_FRA_MINOR "0"\r
+!define MIN_FRA_BUILD "*"\r
+\r
+SetCompressor lzma\r
+\r
+; MUI 1.67 compatible ------\r
+!include "MUI.nsh"\r
+\r
+; MUI Settings\r
+!define MUI_ABORTWARNING\r
+!define MUI_ICON "handbrakepineapple.ico"\r
+!define MUI_UNICON "handbrakepineapple.ico"\r
+\r
+; Welcome page\r
+!insertmacro MUI_PAGE_WELCOME\r
+; License page\r
+!insertmacro MUI_PAGE_LICENSE "doc\COPYING"\r
+; Directory page\r
+!insertmacro MUI_PAGE_DIRECTORY\r
+; Instfiles page\r
+!insertmacro MUI_PAGE_INSTFILES\r
+; Finish page\r
+;!define MUI_FINISHPAGE_RUN "$INSTDIR\Handbrake.exe"\r
+!insertmacro MUI_PAGE_FINISH\r
+\r
+; Uninstaller pages\r
+!insertmacro MUI_UNPAGE_INSTFILES\r
+\r
+; Language files\r
+!insertmacro MUI_LANGUAGE "English"\r
+\r
+; MUI end ------\r
+\r
+Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"\r
+OutFile "HandBrake-${PRODUCT_VERSION_NUMBER}-Win_GUI.exe"\r
+\r
+!include WordFunc.nsh\r
+!insertmacro VersionCompare\r
+!include LogicLib.nsh\r
+\r
+InstallDir "$PROGRAMFILES\Handbrake"\r
+InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""\r
+ShowInstDetails show\r
+ShowUnInstDetails show\r
+\r
+Var InstallDotNET\r
+\r
+Function .onInit\r
+\r
+ ; Begin Only allow one version\r
+ System::Call 'kernel32::CreateMutexA(i 0, i 0, t "myMutex") i .r1 ?e'\r
+ Pop $R0\r
+\r
+ StrCmp $R0 0 +3\r
+ MessageBox MB_OK|MB_ICONEXCLAMATION "The installer is already running." /SD IDOK\r
+ Abort\r
+\r
+ ;Remove previous version\r
+ ReadRegStr $R0 HKLM \\r
+ "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}\" \\r
+ "UninstallString"\r
+ StrCmp $R0 "" done\r
+\r
+ MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION \\r
+ "${PRODUCT_NAME} is already installed. $\n$\nClick `OK` to remove the \\r
+ previous version or `Cancel` to continue." /SD IDOK \\r
+ IDOK uninst\r
+ goto done\r
+\r
+ ;Run the uninstaller\r
+ uninst:\r
+ IfSilent +3\r
+ Exec $INSTDIR\uninst.exe\r
+ goto done\r
+ Exec '"$INSTDIR\uninst.exe" /S'\r
+ done:\r
+FunctionEnd\r
+\r
+Section "Handbrake" SEC01\r
+ SetOutPath "$INSTDIR"\r
+ SetOverwrite ifnewer\r
+\r
+ ; Begin Check .NET version\r
+ StrCpy $InstallDotNET "No"\r
+ Call CheckFramework\r
+ StrCmp $0 "1" +3\r
+ StrCpy $InstallDotNET "Yes"\r
+ MessageBox MB_OK|MB_ICONINFORMATION "${PRODUCT_NAME} requires that the .NET Framework 4.0 Client Profile is installed. The latest .NET Framework will be downloaded and installed automatically during installation of ${PRODUCT_NAME}." /SD IDOK\r
+ Pop $0\r
+\r
+ ; Get .NET if required\r
+ ${If} $InstallDotNET == "Yes"\r
+ SetDetailsView hide\r
+ inetc::get /caption "Downloading .NET Framework 4.0" /canceltext "Cancel" "http://www.microsoft.com/downloads/info.aspx?na=41&srcfamilyid=e5ad0459-cbcc-4b4f-97b6-fb17111cf544&srcdisplaylang=en&u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2f5%2f6%2f2%2f562A10F9-C9F4-4313-A044-9C94E0A8FAC8%2fdotNetFx40_Client_x86_x64.exe" "$INSTDIR\dotnetfx.exe" /end\r
+ Pop $1\r
+\r
+ ${If} $1 != "OK"\r
+ Delete "$INSTDIR\dotnetfx.exe"\r
+ Abort "Installation cancelled, ${PRODUCT_NAME} requires the .NET 4.0 Framework"\r
+ ${EndIf}\r
+\r
+ ExecWait "$INSTDIR\dotnetfx.exe"\r
+ Delete "$INSTDIR\dotnetfx.exe"\r
+\r
+ SetDetailsView show\r
+ ${EndIf}\r
+ \r
+ ; Install Files\r
+ File "*.exe"\r
+ CreateDirectory "$SMPROGRAMS\Handbrake"\r
+ CreateShortCut "$SMPROGRAMS\Handbrake\Handbrake.lnk" "$INSTDIR\Handbrake.exe"\r
+ CreateShortCut "$DESKTOP\Handbrake.lnk" "$INSTDIR\Handbrake.exe"\r
+ File "*.dll"\r
+ File "*.config"\r
+ File "*.xml"\r
+ File "*.pdb"\r
+\r
+ ; Copy the standard doc set into the doc folder\r
+ SetOutPath "$INSTDIR\doc"\r
+ SetOverwrite ifnewer\r
+ File "doc\*.*"\r
+\r
+ ; Copy the standard fonts config set into the fonts folder\r
+ SetOutPath "$INSTDIR\fonts"\r
+ SetOverwrite ifnewer\r
+ File /r "fonts\*.*"\r
+SectionEnd\r
+\r
+Section -AdditionalIcons\r
+ CreateShortCut "$SMPROGRAMS\Handbrake\Uninstall.lnk" "$INSTDIR\uninst.exe"\r
+SectionEnd\r
+\r
+Section -Post\r
+ WriteUninstaller "$INSTDIR\uninst.exe"\r
+ WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\Handbrake.exe"\r
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"\r
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"\r
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\Handbrake.exe"\r
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"\r
+SectionEnd\r
+\r
+\r
+Function un.onUninstSuccess\r
+ HideWindow\r
+ MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was successfully removed from your computer." /SD IDOK\r
+FunctionEnd\r
+\r
+Function un.onInit\r
+ MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to completely remove $(^Name) and all of its components?" /SD IDYES IDYES +2\r
+ Abort\r
+FunctionEnd\r
+\r
+Section Uninstall\r
+ Delete "$INSTDIR\uninst.exe"\r
+ \r
+ Delete "$INSTDIR\*.*"\r
+ Delete "$INSTDIR\doc\*.*"\r
+ Delete "$INSTDIR\fonts\*.*"\r
+ Delete "$INSTDIR\fonts\conf.d\*.*"\r
+ Delete "$INSTDIR\fonts\conf.avail\*.*"\r
+ RMDir "$INSTDIR\doc"\r
+ RMDIR "$INSTDIR\fonts\conf.d"\r
+ RMDIR "$INSTDIR\fonts\conf.avail"\r
+ RMDIR "$INSTDIR\fonts"\r
+ Delete "$SMPROGRAMS\Handbrake\Uninstall.lnk"\r
+ Delete "$DESKTOP\Handbrake.lnk"\r
+ Delete "$SMPROGRAMS\Handbrake\Handbrake.lnk"\r
+ RMDir "$SMPROGRAMS\Handbrake"\r
+ RMDir "$INSTDIR"\r
+\r
+ DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"\r
+ DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"\r
+ SetAutoClose true\r
+SectionEnd\r
+\r
+;Check for .NET framework\r
+Function CheckFrameWork\r
+\r
+ ;Save the variables in case something else is using them\r
+ Push $0\r
+ Push $1\r
+ Push $2\r
+ Push $3\r
+ Push $4\r
+ Push $R1\r
+ Push $R2\r
+ Push $R3\r
+ Push $R4\r
+ Push $R5\r
+ Push $R6\r
+ Push $R7\r
+ Push $R8\r
+\r
+ StrCpy $R5 "0"\r
+ StrCpy $R6 "0"\r
+ StrCpy $R7 "0"\r
+ StrCpy $R8 "0.0.0"\r
+ StrCpy $0 0\r
+\r
+ loop:\r
+\r
+ ;Get each sub key under "SOFTWARE\Microsoft\NET Framework Setup\NDP"\r
+ EnumRegKey $1 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP" $0\r
+ StrCmp $1 "" done ;jump to end if no more registry keys\r
+ IntOp $0 $0 + 1\r
+ StrCpy $2 $1 1 ;Cut off the first character\r
+ StrCpy $3 $1 "" 1 ;Remainder of string\r
+\r
+ ;Loop if first character is not a 'v'\r
+ StrCmpS $2 "v" start_parse loop\r
+\r
+ ;Parse the string\r
+ start_parse:\r
+ StrCpy $R1 ""\r
+ StrCpy $R2 ""\r
+ StrCpy $R3 ""\r
+ StrCpy $R4 $3\r
+\r
+ StrCpy $4 1\r
+\r
+ parse:\r
+ StrCmp $3 "" parse_done ;If string is empty, we are finished\r
+ StrCpy $2 $3 1 ;Cut off the first character\r
+ StrCpy $3 $3 "" 1 ;Remainder of string\r
+ StrCmp $2 "." is_dot not_dot ;Move to next part if it's a dot\r
+\r
+ is_dot:\r
+ IntOp $4 $4 + 1 ; Move to the next section\r
+ goto parse ;Carry on parsing\r
+\r
+ not_dot:\r
+ IntCmp $4 1 major_ver\r
+ IntCmp $4 2 minor_ver\r
+ IntCmp $4 3 build_ver\r
+ IntCmp $4 4 parse_done\r
+\r
+ major_ver:\r
+ StrCpy $R1 $R1$2\r
+ goto parse ;Carry on parsing\r
+\r
+ minor_ver:\r
+ StrCpy $R2 $R2$2\r
+ goto parse ;Carry on parsing\r
+\r
+ build_ver:\r
+ StrCpy $R3 $R3$2\r
+ goto parse ;Carry on parsing\r
+\r
+ parse_done:\r
+\r
+ IntCmp $R1 $R5 this_major_same loop this_major_more\r
+ this_major_more:\r
+ StrCpy $R5 $R1\r
+ StrCpy $R6 $R2\r
+ StrCpy $R7 $R3\r
+ StrCpy $R8 $R4\r
+\r
+ goto loop\r
+\r
+ this_major_same:\r
+ IntCmp $R2 $R6 this_minor_same loop this_minor_more\r
+ this_minor_more:\r
+ StrCpy $R6 $R2\r
+ StrCpy $R7 R3\r
+ StrCpy $R8 $R4\r
+ goto loop\r
+\r
+ this_minor_same:\r
+ IntCmp $R3 $R7 loop loop this_build_more\r
+ this_build_more:\r
+ StrCpy $R7 $R3\r
+ StrCpy $R8 $R4\r
+ goto loop\r
+\r
+ done:\r
+\r
+ ;Have we got the framework we need?\r
+ IntCmp $R5 ${MIN_FRA_MAJOR} max_major_same fail OK\r
+ max_major_same:\r
+ IntCmp $R6 ${MIN_FRA_MINOR} max_minor_same fail OK\r
+ max_minor_same:\r
+ IntCmp $R7 ${MIN_FRA_BUILD} OK fail OK\r
+\r
+ ;Version on machine is greater than what we need\r
+ OK:\r
+ StrCpy $0 "1"\r
+ goto end\r
+\r
+ fail:\r
+ StrCmp $R8 "0.0.0" end\r
+\r
+\r
+ end:\r
+\r
+ ;Pop the variables we pushed earlier\r
+ Pop $R8\r
+ Pop $R7\r
+ Pop $R6\r
+ Pop $R5\r
+ Pop $R4\r
+ Pop $R3\r
+ Pop $R2\r
+ Pop $R1\r
+ Pop $4\r
+ Pop $3\r
+ Pop $2\r
+ Pop $1\r
+FunctionEnd
\ No newline at end of file
--- /dev/null
+/* Resources.Designer.cs $\r
+\r
+ This file is part of the HandBrake source code.\r
+ Homepage: <http://handbrake.fr/>.\r
+ It may be used under the terms of the GNU General Public License. */\r
+\r
+; Script generated by the HM NIS Edit Script Wizard.\r
+\r
+; HM NIS Edit Wizard helper defines\r
+!define PRODUCT_NAME "HandBrake"\r
+!define PRODUCT_VERSION "0.9.7"\r
+!define PRODUCT_VERSION_NUMBER "0.9.7"\r
+!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\Handbrake.exe"\r
+!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"\r
+!define PRODUCT_UNINST_ROOT_KEY "HKLM"\r
+\r
+;Required .NET framework\r
+!define MIN_FRA_MAJOR "4"\r
+!define MIN_FRA_MINOR "0"\r
+!define MIN_FRA_BUILD "*"\r
+\r
+SetCompressor lzma\r
+\r
+; MUI 1.67 compatible ------\r
+!include "MUI.nsh"\r
+\r
+; MUI Settings\r
+!define MUI_ABORTWARNING\r
+!define MUI_ICON "handbrakepineapple.ico"\r
+!define MUI_UNICON "handbrakepineapple.ico"\r
+\r
+; Welcome page\r
+!insertmacro MUI_PAGE_WELCOME\r
+; License page\r
+!insertmacro MUI_PAGE_LICENSE "doc\COPYING"\r
+; Directory page\r
+!insertmacro MUI_PAGE_DIRECTORY\r
+; Instfiles page\r
+!insertmacro MUI_PAGE_INSTFILES\r
+; Finish page\r
+;!define MUI_FINISHPAGE_RUN "$INSTDIR\Handbrake.exe"\r
+!insertmacro MUI_PAGE_FINISH\r
+\r
+; Uninstaller pages\r
+!insertmacro MUI_UNPAGE_INSTFILES\r
+\r
+; Language files\r
+!insertmacro MUI_LANGUAGE "English"\r
+\r
+; MUI end ------\r
+\r
+Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"\r
+OutFile "HandBrake-${PRODUCT_VERSION_NUMBER}-Win_GUI.exe"\r
+\r
+!include WordFunc.nsh\r
+!insertmacro VersionCompare\r
+!include LogicLib.nsh\r
+\r
+InstallDir "$PROGRAMFILES64\Handbrake"\r
+InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""\r
+ShowInstDetails show\r
+ShowUnInstDetails show\r
+\r
+Var InstallDotNET\r
+\r
+Function .onInit\r
+\r
+ ; Begin Only allow one version\r
+ System::Call 'kernel32::CreateMutexA(i 0, i 0, t "myMutex") i .r1 ?e'\r
+ Pop $R0\r
+\r
+ StrCmp $R0 0 +3\r
+ MessageBox MB_OK|MB_ICONEXCLAMATION "The installer is already running." /SD IDOK\r
+ Abort\r
+\r
+ ;Remove previous version\r
+ ReadRegStr $R0 HKLM \\r
+ "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}\" \\r
+ "UninstallString"\r
+ StrCmp $R0 "" done\r
+\r
+ MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION \\r
+ "${PRODUCT_NAME} is already installed. $\n$\nClick `OK` to remove the \\r
+ previous version or `Cancel` to continue." /SD IDOK \\r
+ IDOK uninst\r
+ goto done\r
+\r
+ ;Run the uninstaller\r
+ uninst:\r
+ IfSilent +3\r
+ Exec $INSTDIR\uninst.exe\r
+ goto done\r
+ Exec '"$INSTDIR\uninst.exe" /S'\r
+ done:\r
+FunctionEnd\r
+\r
+Section "Handbrake" SEC01\r
+ SetOutPath "$INSTDIR"\r
+ SetOverwrite ifnewer\r
+\r
+ ; Begin Check .NET version\r
+ StrCpy $InstallDotNET "No"\r
+ Call CheckFramework\r
+ StrCmp $0 "1" +3\r
+ StrCpy $InstallDotNET "Yes"\r
+ MessageBox MB_OK|MB_ICONINFORMATION "${PRODUCT_NAME} requires that the .NET Framework 4.0 Client Profile is installed. The latest .NET Framework will be downloaded and installed automatically during installation of ${PRODUCT_NAME}." /SD IDOK\r
+ Pop $0\r
+\r
+ ; Get .NET if required\r
+ ${If} $InstallDotNET == "Yes"\r
+ SetDetailsView hide\r
+ inetc::get /caption "Downloading .NET Framework 4.0" /canceltext "Cancel" "http://www.microsoft.com/downloads/info.aspx?na=41&srcfamilyid=e5ad0459-cbcc-4b4f-97b6-fb17111cf544&srcdisplaylang=en&u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2f5%2f6%2f2%2f562A10F9-C9F4-4313-A044-9C94E0A8FAC8%2fdotNetFx40_Client_x86_x64.exe" "$INSTDIR\dotnetfx.exe" /end\r
+ Pop $1\r
+\r
+ ${If} $1 != "OK"\r
+ Delete "$INSTDIR\dotnetfx.exe"\r
+ Abort "Installation cancelled, ${PRODUCT_NAME} requires the .NET 4.0 Framework"\r
+ ${EndIf}\r
+\r
+ ExecWait "$INSTDIR\dotnetfx.exe"\r
+ Delete "$INSTDIR\dotnetfx.exe"\r
+\r
+ SetDetailsView show\r
+ ${EndIf}\r
+ \r
+ ; Install Files\r
+ File "Handbrake.exe"\r
+ File "HandBrakeCLI.exe"\r
+ CreateDirectory "$SMPROGRAMS\Handbrake"\r
+ CreateShortCut "$SMPROGRAMS\Handbrake\Handbrake.lnk" "$INSTDIR\Handbrake.exe"\r
+ CreateShortCut "$DESKTOP\Handbrake.lnk" "$INSTDIR\Handbrake.exe"\r
+ File "*.dll"\r
+ File "*.config"\r
+ File "*.xml"\r
+ File "*.pdb"\r
+\r
+ ; Copy the standard doc set into the doc folder\r
+ SetOutPath "$INSTDIR\doc"\r
+ SetOverwrite ifnewer\r
+ File "doc\*.*"\r
+\r
+ ; Copy the standard fonts config set into the fonts folder\r
+ SetOutPath "$INSTDIR\fonts"\r
+ SetOverwrite ifnewer\r
+ File /r "fonts\*.*"\r
+\r
+ \r
+SectionEnd\r
+\r
+Section -AdditionalIcons\r
+ CreateShortCut "$SMPROGRAMS\Handbrake\Uninstall.lnk" "$INSTDIR\uninst.exe"\r
+SectionEnd\r
+\r
+Section -Post\r
+ WriteUninstaller "$INSTDIR\uninst.exe"\r
+ WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\Handbrake.exe"\r
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"\r
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"\r
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\Handbrake.exe"\r
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"\r
+SectionEnd\r
+\r
+\r
+Function un.onUninstSuccess\r
+ HideWindow\r
+ MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was successfully removed from your computer." /SD IDOK\r
+FunctionEnd\r
+\r
+Function un.onInit\r
+ MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to completely remove $(^Name) and all of its components?" /SD IDYES IDYES +2\r
+ Abort\r
+FunctionEnd\r
+\r
+Section Uninstall\r
+ Delete "$INSTDIR\uninst.exe"\r
+ \r
+ Delete "$INSTDIR\*.*"\r
+ Delete "$INSTDIR\doc\*.*"\r
+ Delete "$INSTDIR\fonts\*.*"\r
+ Delete "$INSTDIR\fonts\conf.d\*.*"\r
+ Delete "$INSTDIR\fonts\conf.avail\*.*"\r
+ RMDir "$INSTDIR\doc"\r
+ RMDIR "$INSTDIR\fonts\conf.d"\r
+ RMDIR "$INSTDIR\fonts\conf.avail"\r
+ RMDIR "$INSTDIR\fonts"\r
+ Delete "$SMPROGRAMS\Handbrake\Uninstall.lnk"\r
+ Delete "$DESKTOP\Handbrake.lnk"\r
+ Delete "$SMPROGRAMS\Handbrake\Handbrake.lnk"\r
+ RMDir "$SMPROGRAMS\Handbrake"\r
+ RMDir "$INSTDIR"\r
+\r
+ DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"\r
+ DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"\r
+ SetAutoClose true\r
+SectionEnd\r
+\r
+;Check for .NET framework\r
+Function CheckFrameWork\r
+\r
+ ;Save the variables in case something else is using them\r
+ Push $0\r
+ Push $1\r
+ Push $2\r
+ Push $3\r
+ Push $4\r
+ Push $R1\r
+ Push $R2\r
+ Push $R3\r
+ Push $R4\r
+ Push $R5\r
+ Push $R6\r
+ Push $R7\r
+ Push $R8\r
+\r
+ StrCpy $R5 "0"\r
+ StrCpy $R6 "0"\r
+ StrCpy $R7 "0"\r
+ StrCpy $R8 "0.0.0"\r
+ StrCpy $0 0\r
+\r
+ loop:\r
+\r
+ ;Get each sub key under "SOFTWARE\Microsoft\NET Framework Setup\NDP"\r
+ EnumRegKey $1 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP" $0\r
+ StrCmp $1 "" done ;jump to end if no more registry keys\r
+ IntOp $0 $0 + 1\r
+ StrCpy $2 $1 1 ;Cut off the first character\r
+ StrCpy $3 $1 "" 1 ;Remainder of string\r
+\r
+ ;Loop if first character is not a 'v'\r
+ StrCmpS $2 "v" start_parse loop\r
+\r
+ ;Parse the string\r
+ start_parse:\r
+ StrCpy $R1 ""\r
+ StrCpy $R2 ""\r
+ StrCpy $R3 ""\r
+ StrCpy $R4 $3\r
+\r
+ StrCpy $4 1\r
+\r
+ parse:\r
+ StrCmp $3 "" parse_done ;If string is empty, we are finished\r
+ StrCpy $2 $3 1 ;Cut off the first character\r
+ StrCpy $3 $3 "" 1 ;Remainder of string\r
+ StrCmp $2 "." is_dot not_dot ;Move to next part if it's a dot\r
+\r
+ is_dot:\r
+ IntOp $4 $4 + 1 ; Move to the next section\r
+ goto parse ;Carry on parsing\r
+\r
+ not_dot:\r
+ IntCmp $4 1 major_ver\r
+ IntCmp $4 2 minor_ver\r
+ IntCmp $4 3 build_ver\r
+ IntCmp $4 4 parse_done\r
+\r
+ major_ver:\r
+ StrCpy $R1 $R1$2\r
+ goto parse ;Carry on parsing\r
+\r
+ minor_ver:\r
+ StrCpy $R2 $R2$2\r
+ goto parse ;Carry on parsing\r
+\r
+ build_ver:\r
+ StrCpy $R3 $R3$2\r
+ goto parse ;Carry on parsing\r
+\r
+ parse_done:\r
+\r
+ IntCmp $R1 $R5 this_major_same loop this_major_more\r
+ this_major_more:\r
+ StrCpy $R5 $R1\r
+ StrCpy $R6 $R2\r
+ StrCpy $R7 $R3\r
+ StrCpy $R8 $R4\r
+\r
+ goto loop\r
+\r
+ this_major_same:\r
+ IntCmp $R2 $R6 this_minor_same loop this_minor_more\r
+ this_minor_more:\r
+ StrCpy $R6 $R2\r
+ StrCpy $R7 R3\r
+ StrCpy $R8 $R4\r
+ goto loop\r
+\r
+ this_minor_same:\r
+ IntCmp $R3 $R7 loop loop this_build_more\r
+ this_build_more:\r
+ StrCpy $R7 $R3\r
+ StrCpy $R8 $R4\r
+ goto loop\r
+\r
+ done:\r
+\r
+ ;Have we got the framework we need?\r
+ IntCmp $R5 ${MIN_FRA_MAJOR} max_major_same fail OK\r
+ max_major_same:\r
+ IntCmp $R6 ${MIN_FRA_MINOR} max_minor_same fail OK\r
+ max_minor_same:\r
+ IntCmp $R7 ${MIN_FRA_BUILD} OK fail OK\r
+\r
+ ;Version on machine is greater than what we need\r
+ OK:\r
+ StrCpy $0 "1"\r
+ goto end\r
+\r
+ fail:\r
+ StrCmp $R8 "0.0.0" end\r
+\r
+\r
+ end:\r
+\r
+ ;Pop the variables we pushed earlier\r
+ Pop $R8\r
+ Pop $R7\r
+ Pop $R6\r
+ Pop $R5\r
+ Pop $R4\r
+ Pop $R3\r
+ Pop $R2\r
+ Pop $R1\r
+ Pop $4\r
+ Pop $3\r
+ Pop $2\r
+ Pop $1\r
+FunctionEnd
\ No newline at end of file
+++ /dev/null
-/* Resources.Designer.cs $\r
-\r
- This file is part of the HandBrake source code.\r
- Homepage: <http://handbrake.fr/>.\r
- It may be used under the terms of the GNU General Public License. */\r
-\r
-; Script generated by the HM NIS Edit Script Wizard.\r
-\r
-; HM NIS Edit Wizard helper defines\r
-!define PRODUCT_NAME "HandBrake WPF (Pre-Alpha)"\r
-!define PRODUCT_VERSION "$WCREV$"\r
-!define PRODUCT_VERSION_NUMBER "svn$WCREV$"\r
-!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\HandBrakeWPF.exe"\r
-!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"\r
-!define PRODUCT_UNINST_ROOT_KEY "HKLM"\r
-\r
-;Required .NET framework\r
-!define MIN_FRA_MAJOR "4"\r
-!define MIN_FRA_MINOR "0"\r
-!define MIN_FRA_BUILD "*"\r
-\r
-SetCompressor lzma\r
-\r
-; MUI 1.67 compatible ------\r
-!include "MUI.nsh"\r
-\r
-; MUI Settings\r
-!define MUI_ABORTWARNING\r
-!define MUI_ICON "handbrakepineapple.ico"\r
-!define MUI_UNICON "handbrakepineapple.ico"\r
-\r
-; Welcome page\r
-!insertmacro MUI_PAGE_WELCOME\r
-; License page\r
-!insertmacro MUI_PAGE_LICENSE "doc\COPYING"\r
-; Directory page\r
-!insertmacro MUI_PAGE_DIRECTORY\r
-; Instfiles page\r
-!insertmacro MUI_PAGE_INSTFILES\r
-; Finish page\r
-;!define MUI_FINISHPAGE_RUN "$INSTDIR\HandBrakeWPF.exe"\r
-!insertmacro MUI_PAGE_FINISH\r
-\r
-; Uninstaller pages\r
-!insertmacro MUI_UNPAGE_INSTFILES\r
-\r
-; Language files\r
-!insertmacro MUI_LANGUAGE "English"\r
-\r
-; MUI end ------\r
-\r
-Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"\r
-OutFile "HandBrake-${PRODUCT_VERSION_NUMBER}-WPF_PRE_ALPHA.exe"\r
-\r
-!include WordFunc.nsh\r
-!insertmacro VersionCompare\r
-!include LogicLib.nsh\r
-\r
-InstallDir "$PROGRAMFILES\HandbrakeWPF"\r
-InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""\r
-ShowInstDetails show\r
-ShowUnInstDetails show\r
-\r
-Var InstallDotNET\r
-\r
-Function .onInit\r
-\r
- ; Begin Only allow one version\r
- System::Call 'kernel32::CreateMutexA(i 0, i 0, t "myMutex") i .r1 ?e'\r
- Pop $R0\r
-\r
- StrCmp $R0 0 +3\r
- MessageBox MB_OK|MB_ICONEXCLAMATION "The installer is already running." /SD IDOK\r
- Abort\r
-\r
- ;Remove previous version\r
- ReadRegStr $R0 HKLM \\r
- "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}\" \\r
- "UninstallString"\r
- StrCmp $R0 "" done\r
-\r
- MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION \\r
- "${PRODUCT_NAME} is already installed. $\n$\nClick `OK` to remove the \\r
- previous version or `Cancel` to continue." /SD IDOK \\r
- IDOK uninst\r
- goto done\r
-\r
- ;Run the uninstaller\r
- uninst:\r
- IfSilent +3\r
- Exec $INSTDIR\uninst.exe\r
- goto done\r
- Exec '"$INSTDIR\uninst.exe" /S'\r
- done:\r
-FunctionEnd\r
-\r
-Section "Handbrake" SEC01\r
- SetOutPath "$INSTDIR"\r
- SetOverwrite ifnewer\r
- \r
- ; Install Files\r
- File "*.exe"\r
- CreateDirectory "$SMPROGRAMS\HandBrakeWPF"\r
- CreateShortCut "$SMPROGRAMS\Handbrake\HandBrakeWPF.lnk" "$INSTDIR\HandBrakeWPF.exe"\r
- CreateShortCut "$DESKTOP\HandBrakeWPF.lnk" "$INSTDIR\HandBrakeWPF.exe"\r
- File "*.dll"\r
- File "*.config"\r
- File "*.xml"\r
- File "*.pdb"\r
-\r
- ; Copy the standard doc set into the doc folder\r
- SetOutPath "$INSTDIR\doc"\r
- SetOverwrite ifnewer\r
- File "doc\*.*"\r
- \r
- ; Copy the standard fonts config set into the fonts folder\r
- SetOutPath "$INSTDIR\fonts"\r
- SetOverwrite ifnewer\r
- File /r "fonts\*.*"\r
-SectionEnd\r
-\r
-Section -AdditionalIcons\r
- CreateShortCut "$SMPROGRAMS\Handbrake\Uninstall.lnk" "$INSTDIR\uninst.exe"\r
-SectionEnd\r
-\r
-Section -Post\r
- WriteUninstaller "$INSTDIR\uninst.exe"\r
- WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\HandBrakeWPF.exe"\r
- WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"\r
- WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"\r
- WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\HandBrakeWPF.exe"\r
- WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"\r
-SectionEnd\r
-\r
-\r
-Function un.onUninstSuccess\r
- HideWindow\r
- MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was successfully removed from your computer." /SD IDOK\r
-FunctionEnd\r
-\r
-Function un.onInit\r
- MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to completely remove $(^Name) and all of its components?" /SD IDYES IDYES +2\r
- Abort\r
-FunctionEnd\r
-\r
-Section Uninstall\r
- Delete "$INSTDIR\uninst.exe"\r
- \r
- Delete "$INSTDIR\*.*"\r
- Delete "$INSTDIR\doc\*.*"\r
- Delete "$INSTDIR\fonts\*.*"\r
- Delete "$INSTDIR\fonts\conf.d\*.*"\r
- Delete "$INSTDIR\fonts\conf.avail\*.*"\r
- RMDir "$INSTDIR\doc"\r
- RMDIR "$INSTDIR\fonts\conf.d"\r
- RMDIR "$INSTDIR\fonts\conf.avail"\r
- RMDIR "$INSTDIR\fonts"\r
- Delete "$SMPROGRAMS\HandBrakeWPF\Uninstall.lnk"\r
- Delete "$DESKTOP\HandBrakeWPF.lnk"\r
- Delete "$SMPROGRAMS\HandBrakeWPF\HandBrakeWPF.lnk"\r
- RMDir "$SMPROGRAMS\HandBrakeWPF"\r
- RMDir "$INSTDIR"\r
-\r
- DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"\r
- DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"\r
- SetAutoClose true\r
-SectionEnd\r
-\r
--- /dev/null
+/* Resources.Designer.cs $\r
+\r
+ This file is part of the HandBrake source code.\r
+ Homepage: <http://handbrake.fr/>.\r
+ It may be used under the terms of the GNU General Public License. */\r
+\r
+; Script generated by the HM NIS Edit Script Wizard.\r
+\r
+; HM NIS Edit Wizard helper defines\r
+!define PRODUCT_NAME "Handbrake"\r
+!define PRODUCT_VERSION "$WCREV$ Nightly"\r
+!define PRODUCT_VERSION_NUMBER "svn$WCREV$"\r
+!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\Handbrake.exe"\r
+!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"\r
+!define PRODUCT_UNINST_ROOT_KEY "HKLM"\r
+\r
+;Required .NET framework\r
+!define MIN_FRA_MAJOR "4"\r
+!define MIN_FRA_MINOR "0"\r
+!define MIN_FRA_BUILD "*"\r
+\r
+SetCompressor lzma\r
+\r
+; MUI 1.67 compatible ------\r
+!include "MUI.nsh"\r
+\r
+; MUI Settings\r
+!define MUI_ABORTWARNING\r
+!define MUI_ICON "handbrakepineapple.ico"\r
+!define MUI_UNICON "handbrakepineapple.ico"\r
+\r
+; Welcome page\r
+!insertmacro MUI_PAGE_WELCOME\r
+; License page\r
+!insertmacro MUI_PAGE_LICENSE "doc\COPYING"\r
+; Directory page\r
+!insertmacro MUI_PAGE_DIRECTORY\r
+; Instfiles page\r
+!insertmacro MUI_PAGE_INSTFILES\r
+; Finish page\r
+;!define MUI_FINISHPAGE_RUN "$INSTDIR\Handbrake.exe"\r
+!insertmacro MUI_PAGE_FINISH\r
+\r
+; Uninstaller pages\r
+!insertmacro MUI_UNPAGE_INSTFILES\r
+\r
+; Language files\r
+!insertmacro MUI_LANGUAGE "English"\r
+\r
+; MUI end ------\r
+\r
+Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"\r
+OutFile "HandBrake-${PRODUCT_VERSION_NUMBER}_i686-Win_GUI.exe"\r
+\r
+!include WordFunc.nsh\r
+!insertmacro VersionCompare\r
+!include LogicLib.nsh\r
+\r
+InstallDir "$PROGRAMFILES\Handbrake"\r
+InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""\r
+ShowInstDetails show\r
+ShowUnInstDetails show\r
+\r
+Var InstallDotNET\r
+\r
+Function .onInit\r
+\r
+ ; Begin Only allow one version\r
+ System::Call 'kernel32::CreateMutexA(i 0, i 0, t "myMutex") i .r1 ?e'\r
+ Pop $R0\r
+\r
+ StrCmp $R0 0 +3\r
+ MessageBox MB_OK|MB_ICONEXCLAMATION "The installer is already running." /SD IDOK\r
+ Abort\r
+\r
+ ;Remove previous version\r
+ ReadRegStr $R0 HKLM \\r
+ "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}\" \\r
+ "UninstallString"\r
+ StrCmp $R0 "" done\r
+\r
+ MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION \\r
+ "${PRODUCT_NAME} is already installed. $\n$\nClick `OK` to remove the \\r
+ previous version or `Cancel` to continue." /SD IDOK \\r
+ IDOK uninst\r
+ goto done\r
+\r
+ ;Run the uninstaller\r
+ uninst:\r
+ IfSilent +3\r
+ Exec $INSTDIR\uninst.exe\r
+ goto done\r
+ Exec '"$INSTDIR\uninst.exe" /S'\r
+ done:\r
+FunctionEnd\r
+\r
+Section "Handbrake" SEC01\r
+ SetOutPath "$INSTDIR"\r
+ SetOverwrite ifnewer\r
+\r
+ ; Begin Check .NET version\r
+ StrCpy $InstallDotNET "No"\r
+ Call CheckFramework\r
+ StrCmp $0 "1" +3\r
+ StrCpy $InstallDotNET "Yes"\r
+ MessageBox MB_OK|MB_ICONINFORMATION "${PRODUCT_NAME} requires that the .NET Framework 4.0 Client Profile is installed. The latest .NET Framework will be downloaded and installed automatically during installation of ${PRODUCT_NAME}." /SD IDOK\r
+ Pop $0\r
+\r
+ ; Get .NET if required\r
+ ${If} $InstallDotNET == "Yes"\r
+ SetDetailsView hide\r
+ inetc::get /caption "Downloading .NET Framework 4.0" /canceltext "Cancel" "http://www.microsoft.com/downloads/info.aspx?na=41&srcfamilyid=e5ad0459-cbcc-4b4f-97b6-fb17111cf544&srcdisplaylang=en&u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2f5%2f6%2f2%2f562A10F9-C9F4-4313-A044-9C94E0A8FAC8%2fdotNetFx40_Client_x86_x64.exe" "$INSTDIR\dotnetfx.exe" /end\r
+ Pop $1\r
+\r
+ ${If} $1 != "OK"\r
+ Delete "$INSTDIR\dotnetfx.exe"\r
+ Abort "Installation cancelled, ${PRODUCT_NAME} requires the .NET 4.0 Framework"\r
+ ${EndIf}\r
+\r
+ ExecWait "$INSTDIR\dotnetfx.exe"\r
+ Delete "$INSTDIR\dotnetfx.exe"\r
+\r
+ SetDetailsView show\r
+ ${EndIf}\r
+ \r
+ ; Install Files\r
+ File "*.exe"\r
+ CreateDirectory "$SMPROGRAMS\Handbrake"\r
+ CreateShortCut "$SMPROGRAMS\Handbrake\Handbrake.lnk" "$INSTDIR\Handbrake.exe"\r
+ CreateShortCut "$DESKTOP\Handbrake.lnk" "$INSTDIR\Handbrake.exe"\r
+ File "*.dll"\r
+ File "*.config"\r
+ File "*.xml"\r
+ File "*.pdb"\r
+\r
+ ; Copy the standard doc set into the doc folder\r
+ SetOutPath "$INSTDIR\doc"\r
+ SetOverwrite ifnewer\r
+ File "doc\*.*"\r
+\r
+ ; Copy the standard fonts config set into the fonts folder\r
+ SetOutPath "$INSTDIR\fonts"\r
+ SetOverwrite ifnewer\r
+ File /r "fonts\*.*"\r
+SectionEnd\r
+\r
+Section -AdditionalIcons\r
+ CreateShortCut "$SMPROGRAMS\Handbrake\Uninstall.lnk" "$INSTDIR\uninst.exe"\r
+SectionEnd\r
+\r
+Section -Post\r
+ WriteUninstaller "$INSTDIR\uninst.exe"\r
+ WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\Handbrake.exe"\r
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"\r
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"\r
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\Handbrake.exe"\r
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"\r
+SectionEnd\r
+\r
+\r
+Function un.onUninstSuccess\r
+ HideWindow\r
+ MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was successfully removed from your computer." /SD IDOK\r
+FunctionEnd\r
+\r
+Function un.onInit\r
+ MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to completely remove $(^Name) and all of its components?" /SD IDYES IDYES +2\r
+ Abort\r
+FunctionEnd\r
+\r
+Section Uninstall\r
+ Delete "$INSTDIR\uninst.exe"\r
+ \r
+ Delete "$INSTDIR\*.*"\r
+ Delete "$INSTDIR\doc\*.*"\r
+ Delete "$INSTDIR\fonts\*.*"\r
+ Delete "$INSTDIR\fonts\conf.d\*.*"\r
+ Delete "$INSTDIR\fonts\conf.avail\*.*"\r
+ RMDir "$INSTDIR\doc"\r
+ RMDIR "$INSTDIR\fonts\conf.d"\r
+ RMDIR "$INSTDIR\fonts\conf.avail"\r
+ RMDIR "$INSTDIR\fonts"\r
+ Delete "$SMPROGRAMS\Handbrake\Uninstall.lnk"\r
+ Delete "$DESKTOP\Handbrake.lnk"\r
+ Delete "$SMPROGRAMS\Handbrake\Handbrake.lnk"\r
+ RMDir "$SMPROGRAMS\Handbrake"\r
+ RMDir "$INSTDIR"\r
+\r
+ DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"\r
+ DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"\r
+ SetAutoClose true\r
+SectionEnd\r
+\r
+;Check for .NET framework\r
+Function CheckFrameWork\r
+\r
+ ;Save the variables in case something else is using them\r
+ Push $0\r
+ Push $1\r
+ Push $2\r
+ Push $3\r
+ Push $4\r
+ Push $R1\r
+ Push $R2\r
+ Push $R3\r
+ Push $R4\r
+ Push $R5\r
+ Push $R6\r
+ Push $R7\r
+ Push $R8\r
+\r
+ StrCpy $R5 "0"\r
+ StrCpy $R6 "0"\r
+ StrCpy $R7 "0"\r
+ StrCpy $R8 "0.0.0"\r
+ StrCpy $0 0\r
+\r
+ loop:\r
+\r
+ ;Get each sub key under "SOFTWARE\Microsoft\NET Framework Setup\NDP"\r
+ EnumRegKey $1 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP" $0\r
+ StrCmp $1 "" done ;jump to end if no more registry keys\r
+ IntOp $0 $0 + 1\r
+ StrCpy $2 $1 1 ;Cut off the first character\r
+ StrCpy $3 $1 "" 1 ;Remainder of string\r
+\r
+ ;Loop if first character is not a 'v'\r
+ StrCmpS $2 "v" start_parse loop\r
+\r
+ ;Parse the string\r
+ start_parse:\r
+ StrCpy $R1 ""\r
+ StrCpy $R2 ""\r
+ StrCpy $R3 ""\r
+ StrCpy $R4 $3\r
+\r
+ StrCpy $4 1\r
+\r
+ parse:\r
+ StrCmp $3 "" parse_done ;If string is empty, we are finished\r
+ StrCpy $2 $3 1 ;Cut off the first character\r
+ StrCpy $3 $3 "" 1 ;Remainder of string\r
+ StrCmp $2 "." is_dot not_dot ;Move to next part if it's a dot\r
+\r
+ is_dot:\r
+ IntOp $4 $4 + 1 ; Move to the next section\r
+ goto parse ;Carry on parsing\r
+\r
+ not_dot:\r
+ IntCmp $4 1 major_ver\r
+ IntCmp $4 2 minor_ver\r
+ IntCmp $4 3 build_ver\r
+ IntCmp $4 4 parse_done\r
+\r
+ major_ver:\r
+ StrCpy $R1 $R1$2\r
+ goto parse ;Carry on parsing\r
+\r
+ minor_ver:\r
+ StrCpy $R2 $R2$2\r
+ goto parse ;Carry on parsing\r
+\r
+ build_ver:\r
+ StrCpy $R3 $R3$2\r
+ goto parse ;Carry on parsing\r
+\r
+ parse_done:\r
+\r
+ IntCmp $R1 $R5 this_major_same loop this_major_more\r
+ this_major_more:\r
+ StrCpy $R5 $R1\r
+ StrCpy $R6 $R2\r
+ StrCpy $R7 $R3\r
+ StrCpy $R8 $R4\r
+\r
+ goto loop\r
+\r
+ this_major_same:\r
+ IntCmp $R2 $R6 this_minor_same loop this_minor_more\r
+ this_minor_more:\r
+ StrCpy $R6 $R2\r
+ StrCpy $R7 R3\r
+ StrCpy $R8 $R4\r
+ goto loop\r
+\r
+ this_minor_same:\r
+ IntCmp $R3 $R7 loop loop this_build_more\r
+ this_build_more:\r
+ StrCpy $R7 $R3\r
+ StrCpy $R8 $R4\r
+ goto loop\r
+\r
+ done:\r
+\r
+ ;Have we got the framework we need?\r
+ IntCmp $R5 ${MIN_FRA_MAJOR} max_major_same fail OK\r
+ max_major_same:\r
+ IntCmp $R6 ${MIN_FRA_MINOR} max_minor_same fail OK\r
+ max_minor_same:\r
+ IntCmp $R7 ${MIN_FRA_BUILD} OK fail OK\r
+\r
+ ;Version on machine is greater than what we need\r
+ OK:\r
+ StrCpy $0 "1"\r
+ goto end\r
+\r
+ fail:\r
+ StrCmp $R8 "0.0.0" end\r
+\r
+\r
+ end:\r
+\r
+ ;Pop the variables we pushed earlier\r
+ Pop $R8\r
+ Pop $R7\r
+ Pop $R6\r
+ Pop $R5\r
+ Pop $R4\r
+ Pop $R3\r
+ Pop $R2\r
+ Pop $R1\r
+ Pop $4\r
+ Pop $3\r
+ Pop $2\r
+ Pop $1\r
+FunctionEnd
\ No newline at end of file
--- /dev/null
+/* Resources.Designer.cs $\r
+\r
+ This file is part of the HandBrake source code.\r
+ Homepage: <http://handbrake.fr/>.\r
+ It may be used under the terms of the GNU General Public License. */\r
+\r
+; Script generated by the HM NIS Edit Script Wizard.\r
+\r
+; HM NIS Edit Wizard helper defines\r
+!define PRODUCT_NAME "Handbrake"\r
+!define PRODUCT_VERSION "$WCREV$ Nightly"\r
+!define PRODUCT_VERSION_NUMBER "svn$WCREV$"\r
+!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\Handbrake.exe"\r
+!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"\r
+!define PRODUCT_UNINST_ROOT_KEY "HKLM"\r
+\r
+;Required .NET framework\r
+!define MIN_FRA_MAJOR "4"\r
+!define MIN_FRA_MINOR "0"\r
+!define MIN_FRA_BUILD "*"\r
+\r
+SetCompressor lzma\r
+\r
+; MUI 1.67 compatible ------\r
+!include "MUI.nsh"\r
+\r
+; MUI Settings\r
+!define MUI_ABORTWARNING\r
+!define MUI_ICON "handbrakepineapple.ico"\r
+!define MUI_UNICON "handbrakepineapple.ico"\r
+\r
+; Welcome page\r
+!insertmacro MUI_PAGE_WELCOME\r
+; License page\r
+!insertmacro MUI_PAGE_LICENSE "doc\COPYING"\r
+; Directory page\r
+!insertmacro MUI_PAGE_DIRECTORY\r
+; Instfiles page\r
+!insertmacro MUI_PAGE_INSTFILES\r
+; Finish page\r
+;!define MUI_FINISHPAGE_RUN "$INSTDIR\Handbrake.exe"\r
+!insertmacro MUI_PAGE_FINISH\r
+\r
+; Uninstaller pages\r
+!insertmacro MUI_UNPAGE_INSTFILES\r
+\r
+; Language files\r
+!insertmacro MUI_LANGUAGE "English"\r
+\r
+; MUI end ------\r
+\r
+Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"\r
+OutFile "HandBrake-${PRODUCT_VERSION_NUMBER}_x86_64-Win_GUI.exe"\r
+\r
+!include WordFunc.nsh\r
+!insertmacro VersionCompare\r
+!include LogicLib.nsh\r
+\r
+InstallDir "$PROGRAMFILES64\Handbrake"\r
+InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""\r
+ShowInstDetails show\r
+ShowUnInstDetails show\r
+\r
+Var InstallDotNET\r
+\r
+Function .onInit\r
+\r
+ ; Begin Only allow one version\r
+ System::Call 'kernel32::CreateMutexA(i 0, i 0, t "myMutex") i .r1 ?e'\r
+ Pop $R0\r
+\r
+ StrCmp $R0 0 +3\r
+ MessageBox MB_OK|MB_ICONEXCLAMATION "The installer is already running." /SD IDOK\r
+ Abort\r
+\r
+ ;Remove previous version\r
+ ReadRegStr $R0 HKLM \\r
+ "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}\" \\r
+ "UninstallString"\r
+ StrCmp $R0 "" done\r
+\r
+ MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION \\r
+ "${PRODUCT_NAME} is already installed. $\n$\nClick `OK` to remove the \\r
+ previous version or `Cancel` to continue." /SD IDOK \\r
+ IDOK uninst\r
+ goto done\r
+\r
+ ;Run the uninstaller\r
+ uninst:\r
+ IfSilent +3\r
+ Exec $INSTDIR\uninst.exe\r
+ goto done\r
+ Exec '"$INSTDIR\uninst.exe" /S'\r
+ done:\r
+FunctionEnd\r
+\r
+Section "Handbrake" SEC01\r
+ SetOutPath "$INSTDIR"\r
+ SetOverwrite ifnewer\r
+\r
+ ; Begin Check .NET version\r
+ StrCpy $InstallDotNET "No"\r
+ Call CheckFramework\r
+ StrCmp $0 "1" +3\r
+ StrCpy $InstallDotNET "Yes"\r
+ MessageBox MB_OK|MB_ICONINFORMATION "${PRODUCT_NAME} requires that the .NET Framework 4.0 Client Profile is installed. The latest .NET Framework will be downloaded and installed automatically during installation of ${PRODUCT_NAME}." /SD IDOK\r
+ Pop $0\r
+\r
+ ; Get .NET if required\r
+ ${If} $InstallDotNET == "Yes"\r
+ SetDetailsView hide\r
+ inetc::get /caption "Downloading .NET Framework 4.0" /canceltext "Cancel" "http://www.microsoft.com/downloads/info.aspx?na=41&srcfamilyid=e5ad0459-cbcc-4b4f-97b6-fb17111cf544&srcdisplaylang=en&u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2f5%2f6%2f2%2f562A10F9-C9F4-4313-A044-9C94E0A8FAC8%2fdotNetFx40_Client_x86_x64.exe" "$INSTDIR\dotnetfx.exe" /end\r
+ Pop $1\r
+\r
+ ${If} $1 != "OK"\r
+ Delete "$INSTDIR\dotnetfx.exe"\r
+ Abort "Installation cancelled, ${PRODUCT_NAME} requires the .NET 4.0 Framework"\r
+ ${EndIf}\r
+\r
+ ExecWait "$INSTDIR\dotnetfx.exe"\r
+ Delete "$INSTDIR\dotnetfx.exe"\r
+\r
+ SetDetailsView show\r
+ ${EndIf}\r
+ \r
+ ; Install Files\r
+ File "*.exe"\r
+ CreateDirectory "$SMPROGRAMS\Handbrake"\r
+ CreateShortCut "$SMPROGRAMS\Handbrake\Handbrake.lnk" "$INSTDIR\Handbrake.exe"\r
+ CreateShortCut "$DESKTOP\Handbrake.lnk" "$INSTDIR\Handbrake.exe"\r
+ File "*.dll"\r
+ File "*.config"\r
+ File "*.xml"\r
+ File "*.pdb"\r
+\r
+ ; Copy the standard doc set into the doc folder\r
+ SetOutPath "$INSTDIR\doc"\r
+ SetOverwrite ifnewer\r
+ File "doc\*.*"\r
+\r
+ ; Copy the standard fonts config set into the fonts folder\r
+ SetOutPath "$INSTDIR\fonts"\r
+ SetOverwrite ifnewer\r
+ File /r "fonts\*.*"\r
+SectionEnd\r
+\r
+Section -AdditionalIcons\r
+ CreateShortCut "$SMPROGRAMS\Handbrake\Uninstall.lnk" "$INSTDIR\uninst.exe"\r
+SectionEnd\r
+\r
+Section -Post\r
+ WriteUninstaller "$INSTDIR\uninst.exe"\r
+ WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\Handbrake.exe"\r
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"\r
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"\r
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\Handbrake.exe"\r
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"\r
+SectionEnd\r
+\r
+\r
+Function un.onUninstSuccess\r
+ HideWindow\r
+ MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was successfully removed from your computer." /SD IDOK\r
+FunctionEnd\r
+\r
+Function un.onInit\r
+ MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to completely remove $(^Name) and all of its components?" /SD IDYES IDYES +2\r
+ Abort\r
+FunctionEnd\r
+\r
+Section Uninstall\r
+ Delete "$INSTDIR\uninst.exe"\r
+ \r
+ Delete "$INSTDIR\*.*"\r
+ Delete "$INSTDIR\doc\*.*"\r
+ Delete "$INSTDIR\fonts\*.*"\r
+ Delete "$INSTDIR\fonts\conf.d\*.*"\r
+ Delete "$INSTDIR\fonts\conf.avail\*.*"\r
+ RMDir "$INSTDIR\doc"\r
+ RMDIR "$INSTDIR\fonts\conf.d"\r
+ RMDIR "$INSTDIR\fonts\conf.avail"\r
+ RMDIR "$INSTDIR\fonts"\r
+ Delete "$SMPROGRAMS\Handbrake\Uninstall.lnk"\r
+ Delete "$DESKTOP\Handbrake.lnk"\r
+ Delete "$SMPROGRAMS\Handbrake\Handbrake.lnk"\r
+ RMDir "$SMPROGRAMS\Handbrake"\r
+ RMDir "$INSTDIR"\r
+\r
+ DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"\r
+ DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"\r
+ SetAutoClose true\r
+SectionEnd\r
+\r
+;Check for .NET framework\r
+Function CheckFrameWork\r
+\r
+ ;Save the variables in case something else is using them\r
+ Push $0\r
+ Push $1\r
+ Push $2\r
+ Push $3\r
+ Push $4\r
+ Push $R1\r
+ Push $R2\r
+ Push $R3\r
+ Push $R4\r
+ Push $R5\r
+ Push $R6\r
+ Push $R7\r
+ Push $R8\r
+\r
+ StrCpy $R5 "0"\r
+ StrCpy $R6 "0"\r
+ StrCpy $R7 "0"\r
+ StrCpy $R8 "0.0.0"\r
+ StrCpy $0 0\r
+\r
+ loop:\r
+\r
+ ;Get each sub key under "SOFTWARE\Microsoft\NET Framework Setup\NDP"\r
+ EnumRegKey $1 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP" $0\r
+ StrCmp $1 "" done ;jump to end if no more registry keys\r
+ IntOp $0 $0 + 1\r
+ StrCpy $2 $1 1 ;Cut off the first character\r
+ StrCpy $3 $1 "" 1 ;Remainder of string\r
+\r
+ ;Loop if first character is not a 'v'\r
+ StrCmpS $2 "v" start_parse loop\r
+\r
+ ;Parse the string\r
+ start_parse:\r
+ StrCpy $R1 ""\r
+ StrCpy $R2 ""\r
+ StrCpy $R3 ""\r
+ StrCpy $R4 $3\r
+\r
+ StrCpy $4 1\r
+\r
+ parse:\r
+ StrCmp $3 "" parse_done ;If string is empty, we are finished\r
+ StrCpy $2 $3 1 ;Cut off the first character\r
+ StrCpy $3 $3 "" 1 ;Remainder of string\r
+ StrCmp $2 "." is_dot not_dot ;Move to next part if it's a dot\r
+\r
+ is_dot:\r
+ IntOp $4 $4 + 1 ; Move to the next section\r
+ goto parse ;Carry on parsing\r
+\r
+ not_dot:\r
+ IntCmp $4 1 major_ver\r
+ IntCmp $4 2 minor_ver\r
+ IntCmp $4 3 build_ver\r
+ IntCmp $4 4 parse_done\r
+\r
+ major_ver:\r
+ StrCpy $R1 $R1$2\r
+ goto parse ;Carry on parsing\r
+\r
+ minor_ver:\r
+ StrCpy $R2 $R2$2\r
+ goto parse ;Carry on parsing\r
+\r
+ build_ver:\r
+ StrCpy $R3 $R3$2\r
+ goto parse ;Carry on parsing\r
+\r
+ parse_done:\r
+\r
+ IntCmp $R1 $R5 this_major_same loop this_major_more\r
+ this_major_more:\r
+ StrCpy $R5 $R1\r
+ StrCpy $R6 $R2\r
+ StrCpy $R7 $R3\r
+ StrCpy $R8 $R4\r
+\r
+ goto loop\r
+\r
+ this_major_same:\r
+ IntCmp $R2 $R6 this_minor_same loop this_minor_more\r
+ this_minor_more:\r
+ StrCpy $R6 $R2\r
+ StrCpy $R7 R3\r
+ StrCpy $R8 $R4\r
+ goto loop\r
+\r
+ this_minor_same:\r
+ IntCmp $R3 $R7 loop loop this_build_more\r
+ this_build_more:\r
+ StrCpy $R7 $R3\r
+ StrCpy $R8 $R4\r
+ goto loop\r
+\r
+ done:\r
+\r
+ ;Have we got the framework we need?\r
+ IntCmp $R5 ${MIN_FRA_MAJOR} max_major_same fail OK\r
+ max_major_same:\r
+ IntCmp $R6 ${MIN_FRA_MINOR} max_minor_same fail OK\r
+ max_minor_same:\r
+ IntCmp $R7 ${MIN_FRA_BUILD} OK fail OK\r
+\r
+ ;Version on machine is greater than what we need\r
+ OK:\r
+ StrCpy $0 "1"\r
+ goto end\r
+\r
+ fail:\r
+ StrCmp $R8 "0.0.0" end\r
+\r
+\r
+ end:\r
+\r
+ ;Pop the variables we pushed earlier\r
+ Pop $R8\r
+ Pop $R7\r
+ Pop $R6\r
+ Pop $R5\r
+ Pop $R4\r
+ Pop $R3\r
+ Pop $R2\r
+ Pop $R1\r
+ Pop $4\r
+ Pop $3\r
+ Pop $2\r
+ Pop $1\r
+FunctionEnd
\ No newline at end of file
-using System.Reflection;\r
+/* AssemblyInfo.cs $\r
+ This file is part of the HandBrake source code.\r
+ Homepage: <http://handbrake.fr>.\r
+ It may be used under the terms of the GNU General Public License. */\r
+\r
+using System.Reflection;\r
using System.Resources;\r
using System.Runtime.CompilerServices;\r
using System.Runtime.InteropServices;\r
// You can specify all the values or you can default the Build and Revision Numbers \r
// by using the '*' as shown below:\r
// [assembly: AssemblyVersion("1.0.*")]\r
-[assembly: AssemblyVersion("0.9.5.0")]\r
-[assembly: AssemblyFileVersion("0.9.5.0")]\r
+[assembly: AssemblyVersion("0.9.6.4532")]\r
+[assembly: NeutralResourcesLanguage("")]
\ No newline at end of file
+++ /dev/null
-This is the port of the current WinForms GUI over to WPF.\r
-It is an incomplete work-in-progress and not currently in a usable state!\r
-\r
-Goals:\r
-\r
-- Move as much of the busness logic into the ApplicaitonServices library so it's reusable.\r
-- Rebuild the UI in WPF using MVVM approach using Caliburn Micro 1.2 as the base and Castle Windsor for IoC/DI
\ No newline at end of file
this.queueProcessor = IoC.Get<IQueueProcessor>(); // TODO Instance ID!\r
\r
// Setup Properties\r
- this.WindowTitle = "HandBrake WPF Test Application";\r
+ this.WindowTitle = "HandBrake";\r
this.CurrentTask = new EncodeTask();\r
this.ScannedSource = new Source();\r
\r
<ProjectsToBuild Include="HandBrake.Interop\HandBrakeInterop\*proj" Exclude="$(MSBuildProjectFile)"/>\r
<ProjectsToBuild Include="HandBrake.ApplicationServices\*proj" Exclude="$(MSBuildProjectFile)"/>\r
<ProjectsToBuild Include="HandBrakeCS.*proj" Exclude="$(MSBuildProjectFile)"/>\r
- <ProjectsToBuild Include="HandBrakeWPF\HandBrakeWPF.*proj" Exclude="$(MSBuildProjectFile)"/>\r
</ItemGroup>\r
\r
<!-- Dependencies -->\r
<InstallDependsOn>BuildRelease;CreateReleasePostBuildEvent</InstallDependsOn>\r
</PropertyGroup>\r
\r
- <PropertyGroup>\r
- <AlphaDependsOn>AlphaPreBuild;BuildRelease;CreateAlphaPostBuildEvent</AlphaDependsOn>\r
- </PropertyGroup>\r
\r
<!-- Builds /t: -->\r
<Target Name="NightlyBuild" DependsOnTargets="$(NightlyDependsOn)"/>\r
</Target>\r
\r
<!-- Pre Build Events -->\r
- <Target Name="AlphaPreBuild">\r
- <Exec Command="subwcrev.exe $(ProjectDir). $(ProjectDir)HandBrakeWPF\Properties\AssemblyInfo.cs.tmpl $(ProjectDir)HandBrakeWPF\Properties\AssemblyInfo.cs" />\r
- <Exec Command="subwcrev.exe $(ProjectDir). $(ProjectDir)HandBrakeWPF\Installer\MakeAlpha.nsi.tmpl $(ProjectDir)HandBrakeWPF\Installer\MakeAlpha.nsi" />\r
- </Target>\r
-\r
<!-- Post Build Events -->\r
<Target Name="NightlyPostBuildEvent">\r
<Exec Command="copy $(ProjectDir)Installer\MakeNightly.nsi $(ProjectDir)bin\$(Platform)\Release /Y" Condition="$(Platform) == 'x86'" />\r
<Exec Command="makensis $(ProjectDir)bin\$(Platform)\Release\Installer64.nsi" Condition="$(Platform) == 'x64'" />\r
</Target>\r
\r
- <Target Name="CreateAlphaPostBuildEvent">\r
- <Exec Command="copy $(ProjectDir)HandBrakeWPF\Installer\MakeAlpha.nsi $(ProjectDir)HandBrakeWPF\bin\Release /Y" />\r
- <Exec Command="copy $(ProjectDir)handbrakepineapple.ico $(ProjectDir)HandBrakeWPF\bin\Release /Y" />\r
- <Exec Command="xcopy $(ProjectDir)doc $(ProjectDir)HandBrakeWPF\bin\Release\doc /I /Y" />\r
- <Exec Command="makensis $(ProjectDir)HandBrakeWPF\bin\Release\MakeAlpha.nsi"/>\r
- </Target>\r
-\r
</Project>
\ No newline at end of file
--- /dev/null
+<!--\r
+ build.xml\r
+ This file is part of the HandBrake source code.\r
+ Homepage: <http://handbrake.fr>.\r
+ It may be used under the terms of the GNU General Public License\r
+ \r
+ HandBrake Build Scipt for usage with Jenkins.\r
+ Usage: \r
+ msbuild build2.xml /p:Platform=x86 /t:Nightly\r
+ msbuild build2.xml /p:Platform=x86 /t:Release\r
+ Reuqires: HandBrakeCli.exe to be in the release folder.\r
+ \r
+-->\r
+<Project DefaultTargets="NightlyBuild" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+ \r
+ <!-- Setup -->\r
+ <PropertyGroup>\r
+ <Configuration>Release</Configuration>\r
+ </PropertyGroup>\r
+ \r
+ <!-- Build all the main cproj files.-->\r
+ <ItemGroup>\r
+ <ProjectsToBuild Include="HandBrake.Interop\HandBrakeInterop\*proj" Exclude="$(MSBuildProjectFile)"/>\r
+ <ProjectsToBuild Include="HandBrake.ApplicationServices\*proj" Exclude="$(MSBuildProjectFile)"/>\r
+ <ProjectsToBuild Include="HandBrakeWPF\HandBrakeWPF.*proj" Exclude="$(MSBuildProjectFile)"/>\r
+ </ItemGroup>\r
+\r
+ <!-- Dependencies -->\r
+ <PropertyGroup>\r
+ <NightlyDependsOn>PreBuild;BuildRelease;NightlyPostBuild</NightlyDependsOn>\r
+ </PropertyGroup>\r
+\r
+ <PropertyGroup>\r
+ <InstallDependsOn>PreBuild;BuildRelease;ReleasePostBuild</InstallDependsOn>\r
+ </PropertyGroup>\r
+ \r
+ <!-- Builds /t: -->\r
+ <Target Name="Nightly" DependsOnTargets="$(NightlyDependsOn)"/>\r
+ <Target Name="Release" DependsOnTargets="$(InstallDependsOn)"/>\r
+ \r
+ <!-- Build All Components (Forms, WPF, ApplicationServices, Interop -->\r
+ <Target Name="BuildRelease">\r
+ <MSBuild Projects ="@(ProjectsToBuild)"\r
+ ContinueOnError ="false"\r
+ Properties="Configuration=$(Configuration)" >\r
+ <Output ItemName="OutputFiles" TaskParameter="TargetOutputs"/>\r
+ </MSBuild>\r
+ </Target>\r
+ \r
+ <!-- Pre Build Events -->\r
+ <Target Name="PreBuild">\r
+ <Exec Command="subwcrev.exe $(ProjectDir). $(ProjectDir)HandBrakeWPF\Properties\AssemblyInfo.cs.tmpl $(ProjectDir)HandBrakeWPF\Properties\AssemblyInfo.cs" />\r
+ <Exec Command="subwcrev.exe $(ProjectDir). $(ProjectDir)HandBrakeWPF\Installer\MakeNightly.nsi.tmpl $(ProjectDir)HandBrakeWPF\Installer\MakeNightly.nsi" />\r
+ <Exec Command="subwcrev.exe $(ProjectDir). $(ProjectDir)HandBrakeWPF\Installer\MakeNightly64.nsi.tmpl $(ProjectDir)HandBrakeWPF\Installer\MakeNightly64.nsi" />\r
+ </Target>\r
+\r
+ <!-- Post Build Events -->\r
+ <Target Name="NightlyPostBuild">\r
+ <Exec Command="copy $(ProjectDir)HandBrakeWPF\Installer\MakeNightly.nsi $(ProjectDir)HandBrakeWPF\bin\Release /Y" Condition="$(Platform) == 'x86'" />\r
+ <Exec Command="copy $(ProjectDir)HandBrakeWPF\Installer\MakeNightly64.nsi $(ProjectDir)HandBrakeWPF\bin\Release /Y" Condition="$(Platform) == 'x64'" />\r
+ <Exec Command="copy $(ProjectDir)handbrakepineapple.ico $(ProjectDir)HandBrakeWPF\bin\Release /Y" />\r
+ <Exec Command="xcopy $(ProjectDir)doc $(ProjectDir)HandBrakeWPF\bin\Release\doc /I /Y" />\r
+ <Exec Command="makensis $(ProjectDir)HandBrakeWPF\bin\Release\MakeNightly.nsi" Condition="$(Platform) == 'x86'" />\r
+ <Exec Command="makensis $(ProjectDir)HandBrakeWPF\bin\Release\MakeNightly64.nsi" Condition="$(Platform) == 'x64'" />\r
+ </Target>\r
+\r
+ <Target Name="ReleasePostBuild">\r
+ <Exec Command="copy $(ProjectDir)HandBrakeWPF\Installer\Installer.nsi $(ProjectDir)HandBrakeWPF\bin\Release /Y" Condition="$(Platform) == 'x86'" />\r
+ <Exec Command="copy $(ProjectDir)HandBrakeWPF\Installer\Installer64.nsi $(ProjectDir)HandBrakeWPF\bin\Release /Y" Condition="$(Platform) == 'x64'" />\r
+ <Exec Command="copy $(ProjectDir)handbrakepineapple.ico $(ProjectDir)HandBrakeWPF\bin\Release /Y" />\r
+ <Exec Command="xcopy $(ProjectDir)doc $(ProjectDir)HandBrakeWPF\bin\Release\doc /I /Y" />\r
+ <Exec Command="makensis $(ProjectDir)HandBrakeWPF\bin\Release\Installer.nsi" Condition="$(Platform) == 'x86'" />\r
+ <Exec Command="makensis $(ProjectDir)HandBrakeWPF\bin\Release\Installer64.nsi" Condition="$(Platform) == 'x64'" />\r
+ </Target>\r
+ \r
+</Project>
\ No newline at end of file