Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для wolkow70

Ветеран


Сообщения: 3206
Благодарности: 845

Профиль | Отправить PM | Цитировать


Цитата wolkow70:
Никто не знает как в скрипте NSIS вызвать LaunchAdvancedAssociationUI для заданной программы? »
Вот сам уже нашел способ: http://ask.make-money-article.com/que/11179945

!include LogicLib.nsh
!define CLSCTX_INPROC_SERVER 0x1
!define CLSID_ApplicationAssociationRegistrationUI {1968106d-f3b5-44cf-890e-116fcb9ecef1}
!define IID_IApplicationAssociationRegistrationUI {1f76a169-f994-40ac-8fc8-0959e8874710} ;[Vista+]

section
;NSIS has called CoInitialize
System::Call 'OLE32::CoCreateInstance(g "${CLSID_ApplicationAssociationRegistrationUI}",i 0,i ${CLSCTX_INPROC_SERVER},g "${IID_IApplicationAssociationRegistrationUI}",*i.r1)i.r0' ;ptr is now in $1 and hr in $0
${If} $1 <> 0
System::Call '$1->3(w "Internet Explorer")i.r0' ;IApplicationAssociationRegistrationUI::LaunchAdvancedAssociationUI
System::Call '$1->2()' ;IUnknown::Release
${EndIf}
sectionend

Вместо "Internet Explorer" можно подставлять наименование программы, зарегистрированной в реестре в ключе
HKEY_LOCAL_MACHINE\SOFTWARE\RegisteredApplications

Цитата MKN:
А ты, как мне кажется, хочешь замутить канитель, именно применимо к ассоциированию в Win8 ? (а для других ОС и мутить нечего - всё ясно и традиционно...) »
Да, чтобы при определении Win8 в конце установки открывался интерфейс ассоциаций для конкретной программы.

-------
Человек человеку - друг, товарищ и волк!


Последний раз редактировалось wolkow70, 23-12-2013 в 17:51.


Отправлено: 17:46, 23-12-2013 | #891