Войти

Показать полную графическую версию : [решено] msiexec.exe


icq99999999
20-01-2014, 21:29
мне нужно чтоб из контекстного меню можно было распаковать msi
пробовал с помощью .reg но вылетают ошибки

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Msi.Package\shell\uniextract_sub]
@="Извлечь"
"Icon"="C:\\##Inno Setup##\\..ico"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Msi.Package\shell\uniextract_sub\command]
@="\"C:\\##Inno Setup##\\..bat\" \"%1\""

и содержание bat файла C:\##Inno Setup##\..bat:

msiexec.exe /a "%1" /qb TARGETDIR="%1 UNP"

собственно вопрос в том что нужно исправить в моем коде чтоб ОН работал?

Nordek
02-02-2014, 17:53
icq99999999, msiexec.exe /a %1 /qb TARGETDIR=%~dp0\UNP


Так то вообще можно и через реестр без батника:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Msi.Package\shell\uniextract_sub]
@="Извлечь"
"Icon"="C:\\Windows\\system32\\msiexec.exe,0"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Msi.Package\shell\uniextract_sub\command]
@=hex(2):22,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,\
00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,6d,00,\
73,00,69,00,65,00,78,00,65,00,63,00,2e,00,65,00,78,00,65,00,22,00,20,00,2f,\
00,61,00,20,00,22,00,25,00,31,00,22,00,20,00,2f,00,71,00,62,00,20,00,54,00,\
41,00,52,00,47,00,45,00,54,00,44,00,49,00,52,00,3d,00,25,00,55,00,73,00,65,\
00,72,00,50,00,72,00,6f,00,66,00,69,00,6c,00,65,00,25,00,5c,00,44,00,65,00,\
73,00,6b,00,74,00,6f,00,70,00,5c,00,55,00,6e,00,70,00,61,00,63,00,6b,00,00,\
00
"HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Msi.Package\shell\uniextract_sub\command": cтрока в реестре: "%SystemRoot%\System32\msiexec.exe" /a "%1" /qb TARGETDIR=%UserProfile%\Desktop\Unpack
Распаковка происходит в "%UserProfile%\Desktop\Unpack" - для Windows 7.
Для XP сменить на "%UserProfile%\Рабочий стол\Unpack".

Iska
02-02-2014, 18:53
Nordek, Вы хоть скажите, что второй код в папку на Рабочем столе извлекает, а то будет автор темы долго искать результат ;).

Nordek
02-02-2014, 19:05
Iska, Подумал что догадается и посетит ветку "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Msi.Package\shell\uniextract_sub\command" :).

Iska
02-02-2014, 19:15
A… Ну да, Вы правы — в редакторе реестра она будет читабельна.




© OSzone.net 2001-2012