diff --git a/CLIENT_DATA/PMViewerSetup.au3 b/CLIENT_DATA/PMViewerSetup.au3 deleted file mode 100644 index 91271a9..0000000 Binary files a/CLIENT_DATA/PMViewerSetup.au3 and /dev/null differ diff --git a/CLIENT_DATA/associate.cmd b/CLIENT_DATA/associate.cmd new file mode 100644 index 0000000..5bf62ea --- /dev/null +++ b/CLIENT_DATA/associate.cmd @@ -0,0 +1,14 @@ +@echo off + +SETLOCAL +SET SC=HKLM\SOFTWARE\Classes +SET Extn=pmd pmv xls xlt xlsx xlsm xltx xltm +FOR %%j IN (%Extn%) DO ( + REG ADD %SC%\.%%j /VE /D "PlanMakerViewer.%%j" /F + REG ADD %SC%\PlanMakerViewer.%%j /VE /D "PlanMaker Viewer" /F + REG ADD %SC%\PlanMakerViewer.%%j\DefaultIcon /VE /D "\"%PROGRAMFILES%\SoftMaker Viewer\PlanMaker/PMViewer.exe\"" /F + REG ADD %SC%\PlanMakerViewer.%%j\shell\open\command /VE /D "\"%PROGRAMFILES%\SoftMaker Viewer\PlanMaker/PMViewer.exe\" \"%%1\"" /F + ) +ENDLOCAL + +exit \ No newline at end of file diff --git a/CLIENT_DATA/autoit_PMViewerSetup.exe b/CLIENT_DATA/autoit_PMViewerSetup.exe deleted file mode 100644 index ff8b110..0000000 Binary files a/CLIENT_DATA/autoit_PMViewerSetup.exe and /dev/null differ diff --git a/CLIENT_DATA/delsub32.ins b/CLIENT_DATA/delsub32.ins new file mode 100644 index 0000000..669e720 --- /dev/null +++ b/CLIENT_DATA/delsub32.ins @@ -0,0 +1,95 @@ +; Copyright (c) uib gmbh (www.uib.de) +; This sourcecode is owned by uib gmbh +; and published under the Terms of the General Public License. +; credits: http://www.opsi.org/credits/ + + +Set $MsiId$ = '{AC76BA86-7AD7-1031-7B44-AA1000000001}' +Set $UninstallProgram$ = $InstallDir$ + "\uninstall.exe" + +Message "Uninstalling " + $ProductId$ + " ..." + +if FileExists($UninstallProgram$) + comment "Uninstall program found, starting uninstall" + Winbatch_uninstall + sub_check_exitcode +endif +if not (GetRegistryStringValue32("[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" + $MsiId$ + "] DisplayName") = "") + comment "MSI id " + $MsiId$ + " found in registry, starting msiexec to uninstall" + Winbatch_uninstall_msi + sub_check_exitcode +endif + +comment "Delete files" +Files_uninstall /32Bit + +comment "Cleanup registry" +Registry_uninstall /32Bit + +comment "Delete program shortcuts" +LinkFolder_uninstall + +[Winbatch_uninstall] +; Choose one of the following examples as basis for program uninstall +; +; === Nullsoft Scriptable Install System ================================================================ +; "$UninstallProgram$" /S +; +; === Inno Setup ======================================================================================== +; "$UninstallProgram$" /silent /norestart + + +[Winbatch_uninstall_msi] +; msiexec /x $MsiId$ /qb! REBOOT=ReallySuppress + +[Files_uninstall] +; Example for recursively deleting the installation directory (don't forget the trailing backslash): +; +delete -sf "$InstallDir$\" + +[Registry_uninstall] +; Example of deleting a registry key: +; +; deletekey [HKEY_LOCAL_MACHINE\Software\$ProductId$] + +[LinkFolder_uninstall] +; Example of deleting a folder from AllUsers startmenu: +; +set_basefolder common_programs +delete_subfolder SoftMaker +; +; Example of deleting a shortcut from AllUsers desktop: +; +; set_basefolder common_desktopdirectory +; set_subfolder "" +; delete_element $ProductId$ + +[Sub_check_exitcode] +comment "Test for installation success via exit code" +set $ExitCode$ = getLastExitCode +; informations to exit codes see +; http://msdn.microsoft.com/en-us/library/aa372835(VS.85).aspx +; http://msdn.microsoft.com/en-us/library/aa368542.aspx +if ($ExitCode$ = "0") + comment "Looks good: setup program gives exitcode zero" +else + comment "Setup program gives a exitcode unequal zero: " + $ExitCode$ + if ($ExitCode$ = "1605") + comment "ERROR_UNKNOWN_PRODUCT 1605 This action is only valid for products that are currently installed." + comment "Uninstall of a not installed product failed - no problem" + else + if ($ExitCode$ = "1641") + comment "looks good: setup program gives exitcode 1641" + comment "ERROR_SUCCESS_REBOOT_INITIATED 1641 The installer has initiated a restart. This message is indicative of a success." + else + if ($ExitCode$ = "3010") + comment "looks good: setup program gives exitcode 3010" + comment "ERROR_SUCCESS_REBOOT_REQUIRED 3010 A restart is required to complete the install. This message is indicative of a success." + else + logError "Fatal: Setup program gives an unknown exitcode unequal zero: " + $ExitCode$ + isFatalError + endif + endif + endif +endif + diff --git a/CLIENT_DATA/setup32.ins b/CLIENT_DATA/setup32.ins index eae1683..75ff691 100644 --- a/CLIENT_DATA/setup32.ins +++ b/CLIENT_DATA/setup32.ins @@ -26,9 +26,9 @@ Set $LogDir$ = "%SystemDrive%\tmp" ; therefore please: only lower letters, no umlauts, ; no white space use '-' as a seperator Set $ProductId$ = "pmviewer" -Set $MinimumSpace$ = "20 MB" +Set $MinimumSpace$ = "150 MB" ; the path were we find the product after the installation -Set $InstallDir$ = "%ProgramFiles32Dir%\PlanMaker Viewer" +Set $InstallDir$ = "%ProgramFiles32Dir%\SoftMaker Viewer\PlanMaker\" Set $LicenseRequired$ = "false" Set $LicensePool$ = "p_" + $ProductId$ ; ---------------------------------------------------------------- @@ -81,12 +81,15 @@ endif ; Choose one of the following examples as basis for your installation ; You can use $LicenseKey$ var to pass a license key to the installer ; -"%ScriptPath%\autoit_X86FILE" +; === MSI package ======================================================================================= +; You may use the parameter PIDKEY=$Licensekey$ +;msiexec /i "%ScriptPath%\X86FILE" /l* "$LogDir$\$ProductId$.install_log.txt" /qb! ALLUSERS=2 REBOOT=ReallySuppress EULA_ACCEPT=YES +; [Files_install] ; Example of recursively copying some files into the installation directory: ; -; copy -s "%ScriptPath%\files\*.*" "$InstallDir$" +copy -s "%ScriptPath%\files\*.*" "$InstallDir$" [Registry_install] ; Example of setting some values of an registry key: @@ -95,6 +98,7 @@ endif ; set "name1" = "some string value" ; set "name2" = REG_DWORD:0001 ; set "name3" = REG_BINARY:00 af 99 cd +"%ScriptPath%\associate.cmd" [LinkFolder_install] ; Example of deleting a folder from AllUsers startmenu: @@ -104,17 +108,17 @@ endif ; ; Example of creating an shortcut to the installed exe in AllUsers startmenu: ; -; set_basefolder common_programs -; set_subfolder $ProductId$ -; -; set_link -; name: $ProductId$ -; target: -; parameters: -; working_dir: $InstallDir$ -; icon_file: -; icon_index: -; end_link +set_basefolder common_programs +set_subfolder SoftMaker + +set_link + name: PlanMaker Viewer + target: "$InstallDir$\PMViewer.exe" + parameters: + working_dir: $InstallDir$ + icon_file: "$InstallDir$\PMViewer.exe" + icon_index: 1 +end_link ; ; Example of creating an shortcut to the installed exe on AllUsers desktop: ; diff --git a/CLIENT_DATA/uninstall32.ins b/CLIENT_DATA/uninstall32.ins new file mode 100644 index 0000000..0b9e29b --- /dev/null +++ b/CLIENT_DATA/uninstall32.ins @@ -0,0 +1,65 @@ +; Copyright (c) uib gmbh (www.uib.de) +; This sourcecode is owned by uib gmbh +; and published under the Terms of the General Public License. +; credits: http://www.opsi.org/credits/ + +[Actions] +requiredWinstVersion >= "4.10.8.6" + +DefVar $MsiId$ +DefVar $UninstallProgram$ +DefVar $LogDir$ +DefVar $ExitCode$ +DefVar $ProductId$ +DefVar $InstallDir$ +DefVar $LicenseRequired$ +DefVar $LicensePool$ + +Set $LogDir$ = "%SystemDrive%\tmp" + +; ---------------------------------------------------------------- +; - Please edit the following values - +; ---------------------------------------------------------------- +Set $ProductId$ = "acroreader" +Set $InstallDir$ = "%ProgramFiles32Dir%\SoftMaker Viewer\PlanMaker\" +Set $LicenseRequired$ = "false" +Set $LicensePool$ = "p_" + $ProductId$ +; ---------------------------------------------------------------- + + +comment "Show product picture" +ShowBitmap "%ScriptPath%\" + $ProductId$ + ".png" $ProductId$ + +Message "Uninstalling " + $ProductId$ + " ..." + +if FileExists("%ScriptPath%\delsub32.ins") + comment "Start uninstall sub section" + Sub "%ScriptPath%\delsub32.ins" +endif + +if $LicenseRequired$ = "true" + comment "Licensing required, free license used" + Sub_free_license +endif + +[Sub_free_license] +if opsiLicenseManagementEnabled + comment "License management is enabled and will be used" + + comment "Trying to free license used for the product" + DefVar $result$ + Set $result$ = FreeLicense($LicensePool$) + ; If there is an assignment of a license pool to the product, it is possible to use + ; Set $result$ = FreeLicense("", $ProductId$) + ; + ; If there is an assignment of a license pool to a windows software id, it is possible to use + ; DefVar $WindowsSoftwareId$ + ; $WindowsSoftwareId$ = "..." + ; set $result$ = FreeLicense("", "", $WindowsSoftwareId$) +else + LogError "Error: licensing required, but license management not enabled" + isFatalError +endif + + + diff --git a/build.sh b/build.sh index b088ce8..286227d 100644 --- a/build.sh +++ b/build.sh @@ -1,7 +1,7 @@ #!/bin/sh PN="pmviewer" VERSION="2010" -RELEASE="1" +RELEASE="2" PRIORITY="0" ADVICE="" TYPE="restrict" @@ -56,7 +56,9 @@ unix2dos $OUT/$PN/CLIENT_DATA/* CHECKSUM=`sha1sum /usr/portage/distfiles/$X86FILE` if [ "$CHECKSUM" = "$SHA1SUM" ] then - cp /usr/portage/distfiles/$X86FILE $OUT/$PN/CLIENT_DATA + #cp /usr/portage/distfiles/$X86FILE $OUT/$PN/CLIENT_DATA + mkdir -p $OUT/$PN/CLIENT_DATA/files + 7z x -o$OUT/$PN/CLIENT_DATA/files /usr/portage/distfiles/$X86FILE else echo "The checksums do not match." exit 1