From 3b5dd897ada9862545aa4cc17b6a22ee7f6d8a62 Mon Sep 17 00:00:00 2001 From: Peter Singer Date: Mon, 1 Apr 2013 12:29:56 +0200 Subject: [PATCH] Windows 8 file associations support --- CLIENT_DATA/defaultassociations.xml | 6 ++ CLIENT_DATA/setup3264.ins | 105 +++++++++++---------------- builder-product.cfg | 107 +++++++++++++++------------- 3 files changed, 104 insertions(+), 114 deletions(-) create mode 100644 CLIENT_DATA/defaultassociations.xml diff --git a/CLIENT_DATA/defaultassociations.xml b/CLIENT_DATA/defaultassociations.xml new file mode 100644 index 0000000..e79bb9c --- /dev/null +++ b/CLIENT_DATA/defaultassociations.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/CLIENT_DATA/setup3264.ins b/CLIENT_DATA/setup3264.ins index cfc06b6..1145aa5 100644 --- a/CLIENT_DATA/setup3264.ins +++ b/CLIENT_DATA/setup3264.ins @@ -25,6 +25,9 @@ DefVar $OLD_VERSION$ DefVar $OLD_CREATOR_TAG$ DefVar $OLD_RELEASE$ +DefVar $InstallDir$ +DefVar $ProgExe$ + Set $INST_SystemType$ = GetSystemType set $INST_architecture$ = GetProductProperty("install_architecture","system specific") @@ -40,6 +43,7 @@ Set $LogDir$ = "%SystemDrive%\tmp" ; @@BUILDER_VARIABLES@@ + ; ---------------------------------------------------------------- ; - Please edit the following values - ; ---------------------------------------------------------------- @@ -78,8 +82,10 @@ else comment "Copy files" Files_install_32 /32Bit Files_install_config /AllNtUserProfiles - DosInAnIcon_set_config_32 - DosInAnIcon_install_32 + DosInAnIcon_set_config + Set $InstallDir$ = $InstallDir32$ + Set $ProgExe$ = $Prog32$ + DosInAnIcon_install winst /32bit comment "Patch Registry" Registry_install /32Bit comment "Create shortcuts" @@ -95,8 +101,10 @@ else comment "Copy files" Files_install_64 /64Bit Files_install_config /AllNTUserProfiles - DosInAnIcon_set_config_64 - DosInAnIcon_install_64 + DosInAnIcon_set_config + Set $InstallDir$ = $InstallDir64$ + Set $ProgExe$ = $Prog64$ + DosInAnIcon_install winst /64bit comment "Patch Registry" Registry_install /64Bit comment "Create shortcuts" @@ -105,39 +113,42 @@ else endif +[DosInAnIcon_install] +rem @echo off +If exist "%System%\defaultassociations.xml" (copy "%System%\defaultassociations.xml" "$LogDir$") ELSE (copy "%ScriptPath%\defaultassociations.xml" "$LogDir$") + +SET Prog=$ProgExe$ +SET Prog=%Prog:~0,-4% +SET SC=HKLM\Software\Classes +SET Extn=bmp-55 dds-60 gif-65 jpg-70 jpeg-70 pcx-75 png-80 psd-85 tga-90 tif-95 tiff-95 +rem SET Extn=3fr-11 arw-11 cr2-11 crw-11 dcr-11 dng-11 erf-11 kdc-11 mos-11 mrw-11 nef-11 orf-11 pef-11 raf-11 raw-11 srw-11 sr-11 ani-11 anm-11 dib-11 rle-11 cdr-11 cdt-11 pat-11 ccx-11 cmx-11 clp-11 cur-11 dcm-11 dicom-11 dcx-11 dds-11 emf-11 exr-11 sxr-11 mxr-11 flc-11 fli-11 hdp-11 jxr-11 wdp-11 hdr-11 icl-11 ico-11 ics-11 jbg-11 jbig-11 jp2-11 jpc-11 j2k-11 jpg-11 jpe-11 jpeg-11 lbm-11 lbmp-11 iff-11 mac-11 macp-11 mbm-11 mng-11 bpm-11 pcd-11 pcx-11 pdn-11 pgm-11 pic-11 cel-11 png-11 ppm-11 psd-11 8psd-11 psp-11 ras-11 rla-11 rle-11 sgi-11 rgb-11 bw-11 spr-11 wbmp-11 wap-11 wbm-11 webp-11 wmf-11 wpg-11 xbm-11 xcf-11 xpm-11 zip-11 cbz-11 7z-11 cb7-11 arj-11 lzh-11 rar-11 cbr-11 alz-11 egg-11 tar-11 gz-11 bz2-11 iso-11 cab-11 + +FOR %%j IN (%Extn%) DO ( + FOR /F "tokens=1,2 delims=-" %%A IN ("%%j") DO ( + REG ADD %SC%\.%%A /VE /D "Imagine.%%A" /F + REG ADD %SC%\Imagine.%%A /VE /D "%%A Image" /F + REG ADD %SC%\Imagine.%%A\DefaultIcon /VE /D "$InstallDir$\%Prog%.dll,%%B" /F + REG ADD %SC%\Imagine.%%A\shell\open\command /VE /D "\"$InstallDir$\%Prog%.exe\" \"%%1\"" /F + copy "$LogDir$\defaultassociations.xml" "$LogDir$\defaultassociations.xml.old" + xml ed -d /DefaultAssociations/Association[@Identifier='.%%A'] "$LogDir$\defaultassociations.xml.old"> "$LogDir$\defaultassociations.xml" + copy "$LogDir$\defaultassociations.xml" "$LogDir$\defaultassociations.xml.old" + xml ed -s /DefaultAssociations -t elem -n Association_new -v "" -i /DefaultAssociations/Association_new -t attr -n Identifier -v .%%A -i /DefaultAssociations/Association_new -t attr -n ProgId -v Imagine.%%A -i /DefaultAssociations/Association_new -t attr -n ApplicationName -v "Image & Animation Viewer" -r "/DefaultAssociations/Association_new" -v Association "$LogDir$\defaultassociations.xml.old"> "$LogDir$\defaultassociations.xml" + ) +) + +rem Set Default Associations for Windows 8 +move "$LogDir$\defaultassociations.xml" "%System%" +REG ADD HKLM\Software\Policies\Microsoft\Windows\System /V DefaultAssociationsConfiguration /D "%systemdrive%\windows\system32\defaultassociations.xml" /F + [Files_install_config] copy "%ScriptPath%\Imagine.ini" "%UserProfileDir%\Anwendungsdaten\Imagine" +[DosInAnIcon_set_config] +attrib +r "$InstallDir$\Imagine.ini" + [Winbatch_install_32] "$Install32Exe$" /S /D="$InstallDir32$" -[DosInAnIcon_install_32] -@echo off - -SET SC=HKLM\Software\Classes -SET Extn=3fr-11 arw-11 cr2-11 crw-11 dcr-11 dng-11 erf-11 kdc-11 mos-11 mrw-11 nef-11 orf-11 pef-11 raf-11 raw-11 srw-11 sr-11 ani-11 anm-11 dib-11 rle-11 cdr-11 cdt-11 pat-11 ccx-11 cmx-11 clp-11 cur-11 dcm-11 dicom-11 dcx-11 dds-11 emf-11 exr-11 sxr-11 mxr-11 flc-11 fli-11 hdp-11 jxr-11 wdp-11 hdr-11 icl-11 ico-11 ics-11 jbg-11 jbig-11 jp2-11 jpc-11 j2k-11 jpg-11 jpe-11 jpeg-11 lbm-11 lbmp-11 iff-11 mac-11 macp-11 mbm-11 mng-11 bpm-11 pcd-11 pcx-11 pdn-11 pgm-11 pic-11 cel-11 png-11 ppm-11 psd-11 8psd-11 psp-11 ras-11 rla-11 rle-11 sgi-11 rgb-11 bw-11 spr-11 wbmp-11 wap-11 wbm-11 webp-11 wmf-11 wpg-11 xbm-11 xcf-11 xpm-11 zip-11 cbz-11 7z-11 cb7-11 arj-11 lzh-11 rar-11 cbr-11 alz-11 egg-11 tar-11 gz-11 bz2-11 iso-11 cab-11 - - -FOR %%j IN (%Extn%) DO ( - FOR /F "tokens=1,2 delims=-" %%A IN ("%%j") DO ( - REG ADD %SC%\.%%A /VE /D "Imagine.%%A" /F - REG ADD %SC%\Imagine.%%A /VE /D "%%A Image" /F - REG ADD %SC%\Imagine.%%A\DefaultIcon /VE /D "$InstallDir32$\Imagine.dll,%%B" /F - REG ADD %SC%\Imagine.%%A\shell\open\command /VE /D "\"$InstallDir32$\Imagine.exe\" \"%%1\"" /F - ) -) - -SET Extn=bmp-55 dds-60 gif-65 jpg-70 jpeg-70 pcx-75 png-80 psd-85 tga-90 tif-95 tiff-95 - -FOR %%j IN (%Extn%) DO ( - FOR /F "tokens=1,2 delims=-" %%A IN ("%%j") DO ( - REG ADD %SC%\.%%A /VE /D "Imagine.%%A" /F - REG ADD %SC%\Imagine.%%A /VE /D "%%A Image" /F - REG ADD %SC%\Imagine.%%A\DefaultIcon /VE /D "$InstallDir32$\Imagine.dll,%%B" /F - REG ADD %SC%\Imagine.%%A\shell\open\command /VE /D "\"$InstallDir32$\Imagine.exe\" \"%%1\"" /F - ) -) - [Files_install_32] ; copy the ini file to the InstallDir copy "$IniCfgFile$" "$InstallDir32$" @@ -147,38 +158,9 @@ copy "%ScriptPath%\*.ini" "$InstallDir32$" ; copy -s "%ScriptPath%\X86\*.*" "$InstallDir32$" -[DosInAnIcon_set_config_32] -attrib +r "$InstallDir32$\Imagine.ini" - [Winbatch_install_64] "$Install64Exe$" /S /D="$InstallDir64$" -[DosInAnIcon_install_64] -@echo off - -SET SC=HKLM\Software\Classes -SET Extn=3fr-11 arw-11 cr2-11 crw-11 dcr-11 dng-11 erf-11 kdc-11 mos-11 mrw-11 nef-11 orf-11 pef-11 raf-11 raw-11 srw-11 sr-11 ani-11 anm-11 dib-11 rle-11 cdr-11 cdt-11 pat-11 ccx-11 cmx-11 clp-11 cur-11 dcm-11 dicom-11 dcx-11 dds-11 emf-11 exr-11 sxr-11 mxr-11 flc-11 fli-11 hdp-11 jxr-11 wdp-11 hdr-11 icl-11 ico-11 ics-11 jbg-11 jbig-11 jp2-11 jpc-11 j2k-11 jpg-11 jpe-11 jpeg-11 lbm-11 lbmp-11 iff-11 mac-11 macp-11 mbm-11 mng-11 bpm-11 pcd-11 pcx-11 pdn-11 pgm-11 pic-11 cel-11 png-11 ppm-11 psd-11 8psd-11 psp-11 ras-11 rla-11 rle-11 sgi-11 rgb-11 bw-11 spr-11 wbmp-11 wap-11 wbm-11 webp-11 wmf-11 wpg-11 xbm-11 xcf-11 xpm-11 zip-11 cbz-11 7z-11 cb7-11 arj-11 lzh-11 rar-11 cbr-11 alz-11 egg-11 tar-11 gz-11 bz2-11 iso-11 cab-11 - - -FOR %%j IN (%Extn%) DO ( - FOR /F "tokens=1,2 delims=-" %%A IN ("%%j") DO ( - REG ADD %SC%\.%%A /VE /D "Imagine.%%A" /F - REG ADD %SC%\Imagine.%%A /VE /D "%%A Image" /F - REG ADD %SC%\Imagine.%%A\DefaultIcon /VE /D "$InstallDir64$\Imagine64.dll,%%B" /F - REG ADD %SC%\Imagine.%%A\shell\open\command /VE /D "\"$InstallDir64$\Imagine64.exe\" \"%%1\"" /F - ) -) -SET Extn=bmp-55 dds-60 gif-65 jpg-70 jpeg-70 pcx-75 png-80 psd-85 tga-90 tif-95 tiff-95 - -FOR %%j IN (%Extn%) DO ( - FOR /F "tokens=1,2 delims=-" %%A IN ("%%j") DO ( - REG ADD %SC%\.%%A /VE /D "Imagine.%%A" /F - REG ADD %SC%\Imagine.%%A /VE /D "%%A Image" /F - REG ADD %SC%\Imagine.%%A\DefaultIcon /VE /D "$InstallDir64$\Imagine64.dll,%%B" /F - REG ADD %SC%\Imagine.%%A\shell\open\command /VE /D "\"$InstallDir64$\Imagine64.exe\" \"%%1\"" /F - ) -) - [Files_install_64] ; copy the ini file to the InstallDir copy "$IniCfgFile$" "$InstallDir64$" @@ -188,9 +170,6 @@ copy "%ScriptPath%\*.ini" "$InstallDir64$" ; copy -s "%ScriptPath%\X86_64\*.*" "$InstallDir64$" -[DosInAnIcon_set_config_64] -attrib +r "$InstallDir64$\Imagine.ini" - [Registry_install] ; Example of setting some values of an registry key: ; diff --git a/builder-product.cfg b/builder-product.cfg index 4ffe0fe..250974f 100644 --- a/builder-product.cfg +++ b/builder-product.cfg @@ -129,67 +129,64 @@ DL_ARCH[18]="X86_64" DL_EXTRACT_FORMAT[18]="unzip" DL_EXTRACT_TO[18]="Plugin" -DL_FILE[19]="Imagine_Plugin_RAR_0.0.4.zip" -DL_SOURCE[19]="http://www.nyam.pe.kr/dev/imagine/download/plugin/Imagine_Plugin_RAR_0.0.4.zip" + +DL_FILE[19]="Imagine_Plugin_HV3_0.0.3.zip" +DL_SOURCE[19]="http://www.nyam.pe.kr/dev/imagine/download/plugin/Imagine_Plugin_HV3_0.0.3.zip" DL_ARCH[19]="X86" DL_EXTRACT_FORMAT[19]="unzip" DL_EXTRACT_TO[19]="Plugin" -DL_FILE[20]="Imagine_Plugin_RAR_x64_0.0.4.zip" -DL_SOURCE[20]="http://www.nyam.pe.kr/dev/imagine/download/plugin/x64/Imagine_Plugin_RAR_x64_0.0.4.zip" +DL_FILE[20]="Imagine_Plugin_HV3_x64_0.0.3.zip" +DL_SOURCE[20]="http://www.nyam.pe.kr/dev/imagine/download/plugin/x64/Imagine_Plugin_HV3_x64_0.0.3.zip" DL_ARCH[20]="X86_64" DL_EXTRACT_FORMAT[20]="unzip" DL_EXTRACT_TO[20]="Plugin" -DL_FILE[21]="Imagine_Plugin_HV3_0.0.3.zip" -DL_SOURCE[21]="http://www.nyam.pe.kr/dev/imagine/download/plugin/Imagine_Plugin_HV3_0.0.3.zip" -DL_ARCH[21]="X86" +DL_FILE[21]="simplexity_file_icons_by_jrdn88-d1b3b04.zip" +DL_SOURCE[21]="http://www.deviantart.com/download/79096180/simplexity_file_icons_by_jrdn88-d1b3b04.zip" +DL_ARCH[21]="ALL" DL_EXTRACT_FORMAT[21]="unzip" -DL_EXTRACT_TO[21]="Plugin" -DL_FILE[22]="Imagine_Plugin_HV3_x64_0.0.3.zip" -DL_SOURCE[22]="http://www.nyam.pe.kr/dev/imagine/download/plugin/x64/Imagine_Plugin_HV3_x64_0.0.3.zip" -DL_ARCH[22]="X86_64" -DL_EXTRACT_FORMAT[22]="unzip" -DL_EXTRACT_TO[22]="Plugin" +# DL_FILE[22]="Imagine_Plugin_7Z_0.0.5.zip" +# DL_SOURCE[22]="http://www.nyam.pe.kr/dev/imagine/download/plugin/Imagine_Plugin_7Z_0.0.5.zip" +# DL_ARCH[22]="X86" +# DL_EXTRACT_FORMAT[22]="unzip" +# DL_EXTRACT_TO[22]="Plugin" -DL_FILE[23]="Imagine_Plugin_7Z_0.0.5.zip" -DL_SOURCE[23]="http://www.nyam.pe.kr/dev/imagine/download/plugin/Imagine_Plugin_7Z_0.0.5.zip" -DL_ARCH[23]="X86" -DL_EXTRACT_FORMAT[23]="unzip" -DL_EXTRACT_TO[23]="Plugin" +# DL_FILE[23]="Imagine_Plugin_7Z_x64_0.0.5.zip" +# DL_SOURCE[23]="http://www.nyam.pe.kr/dev/imagine/download/plugin/x64/Imagine_Plugin_7Z_x64_0.0.5.zip" +# DL_ARCH[23]="X86_64" +# DL_EXTRACT_FORMAT[23]="unzip" +# DL_EXTRACT_TO[23]="Plugin" -DL_FILE[24]="Imagine_Plugin_7Z_x64_0.0.5.zip" -DL_SOURCE[24]="http://www.nyam.pe.kr/dev/imagine/download/plugin/x64/Imagine_Plugin_7Z_x64_0.0.5.zip" -DL_ARCH[24]="X86_64" -DL_EXTRACT_FORMAT[24]="unzip" -DL_EXTRACT_TO[24]="Plugin" - -DL_FILE[25]="Imagine_Plugin_ALZ_0.0.4.zip" -DL_SOURCE[25]="http://www.nyam.pe.kr/dev/imagine/download/plugin/Imagine_Plugin_ALZ_0.0.4.zip" -DL_ARCH[25]="X86" -DL_EXTRACT_FORMAT[25]="unzip" -DL_EXTRACT_TO[25]="Plugin" - -DL_FILE[26]="Imagine_Plugin_ALZ_x64_0.0.4.zip" -DL_SOURCE[26]="http://www.nyam.pe.kr/dev/imagine/download/plugin/x64/Imagine_Plugin_ALZ_x64_0.0.4.zip" -DL_ARCH[26]="X86_64" -DL_EXTRACT_FORMAT[26]="unzip" -DL_EXTRACT_TO[26]="Plugin" - - - -DL_FILE[27]="simplexity_file_icons_by_jrdn88-d1b3b04.zip" -DL_SOURCE[27]="http://www.deviantart.com/download/79096180/simplexity_file_icons_by_jrdn88-d1b3b04.zip" -DL_ARCH[27]="ALL" -DL_EXTRACT_FORMAT[27]="unzip" +# DL_FILE[25]="Imagine_Plugin_ALZ_0.0.4.zip" +# DL_SOURCE[25]="http://www.nyam.pe.kr/dev/imagine/download/plugin/Imagine_Plugin_ALZ_0.0.4.zip" +# DL_ARCH[25]="X86" +# DL_EXTRACT_FORMAT[25]="unzip" +# DL_EXTRACT_TO[25]="Plugin" +# DL_FILE[26]="Imagine_Plugin_ALZ_x64_0.0.4.zip" +# DL_SOURCE[26]="http://www.nyam.pe.kr/dev/imagine/download/plugin/x64/Imagine_Plugin_ALZ_x64_0.0.4.zip" +# DL_ARCH[26]="X86_64" +# DL_EXTRACT_FORMAT[26]="unzip" +# DL_EXTRACT_TO[26]="Plugin" +# DL_FILE[19]="Imagine_Plugin_RAR_0.0.4.zip" +# DL_SOURCE[19]="http://www.nyam.pe.kr/dev/imagine/download/plugin/Imagine_Plugin_RAR_0.0.4.zip" +# DL_ARCH[19]="X86" +# DL_EXTRACT_FORMAT[19]="unzip" +# DL_EXTRACT_TO[19]="Plugin" +# DL_FILE[20]="Imagine_Plugin_RAR_x64_0.0.4.zip" +# DL_SOURCE[20]="http://www.nyam.pe.kr/dev/imagine/download/plugin/x64/Imagine_Plugin_RAR_x64_0.0.4.zip" +# DL_ARCH[20]="X86_64" +# DL_EXTRACT_FORMAT[20]="unzip" +# DL_EXTRACT_TO[20]="Plugin" # File array index for the image showing while installing the program ICON_DL_INDEX=0 + OPSI_INI_SECTION[0]="X86" OPSI_INI_OPTION[0]="UninstallProg32" OPSI_INI_VALUE[0]="Uninstall.exe" @@ -198,14 +195,22 @@ OPSI_INI_SECTION[1]="X86_64" OPSI_INI_OPTION[1]="UninstallProg64" OPSI_INI_VALUE[1]="Uninstall.exe" -OPSI_INI_SECTION[2]="Option" -OPSI_INI_OPTION[2]="OnlyOneInstance" -OPSI_INI_VALUE[2]="0" +OPSI_INI_SECTION[2]="X86" +OPSI_INI_OPTION[2]="Prog32" +OPSI_INI_VALUE[2]="Imagine.exe" -OPSI_INI_SECTION[3]="Option" -OPSI_INI_OPTION[3]="IndividualOptionPerUser" -OPSI_INI_VALUE[3]="1" +OPSI_INI_SECTION[3]="X86_64" +OPSI_INI_OPTION[3]="Prog64" +OPSI_INI_VALUE[3]="Imagine64.exe" -OPSI_INI_SECTION[4]="Language" -OPSI_INI_OPTION[4]="TextFile" -OPSI_INI_VALUE[4]="German.lng" +OPSI_INI_SECTION[4]="Option" +OPSI_INI_OPTION[4]="OnlyOneInstance" +OPSI_INI_VALUE[4]="0" + +OPSI_INI_SECTION[5]="Option" +OPSI_INI_OPTION[5]="IndividualOptionPerUser" +OPSI_INI_VALUE[5]="1" + +OPSI_INI_SECTION[6]="Language" +OPSI_INI_OPTION[6]="TextFile" +OPSI_INI_VALUE[6]="German.lng"