Windows 8 file associations support

This commit is contained in:
Peter Singer 2013-04-01 12:29:56 +02:00
parent 5c6f31b89a
commit 3b5dd897ad
3 changed files with 104 additions and 114 deletions

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<DefaultAssociations>
<Association Identifier=".gif" ProgId="Imagine.gif" ApplicationName="Image &amp; Animation Viewer"/>
<Association Identifier="http" ProgId="FirefoxURL" ApplicationName="Firefox" />
<Association Identifier="https" ProgId="FirefoxURL" ApplicationName="Firefox" />
</DefaultAssociations>

View File

@ -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:
;

View File

@ -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"