Цитата kotkovets:
Section Main
ExecWait 'taskkill /F /IM explorer.exe' $0
DetailPrint "taskkill exit: [ $0 ]"
Sleep 500 ;пауза - если нужно
StrCmp $0 0 0 +2
Exec "explorer.exe"
SectionEnd »
|
Этот вариант железно работает. Я его в отдельную подсекцию выделил. Как альтернативу перезагрузки компа. Интересно получилось.
Function un.onInit
SectionSetText ${sec09} "Удалить Light Alloy"
FunctionEnd
Section Uninstall sec09
SectionIn 1 RO
KillProcDLL::KillProc "LA.exe"
Sleep 700
!insertmacro UninstallLib REGDLL NOTSHARED NOREBOOT_PROTECTED "$INSTDIR\ContextMenu.dll"
бла-бла-бла
Delete /REBOOTOK "$INSTDIR\ContextMenu.dll"
RMDir /r "$INSTDIR\"
${RefreshShellIcons}
SetAutoClose true
SectionEnd
Section /o "Un.Перезагрузка Проводника" sec12
SectionIn 1
ExecWait 'taskkill /F /IM explorer.exe' $0
DetailPrint "taskkill exit: [ $0 ]"
Sleep 500 ;пауза - если нужно
StrCmp $0 0 0 +2
Exec "explorer.exe"
RMDir /r "$INSTDIR\"
SectionEnd
LangString DESC_09 ${LANG_RUSSIAN} "Программа LightAlloy будет удалена с Вашего компьютера"
LangString DESC_10 ${LANG_RUSSIAN} "Внимание, все настройки LightAlloy будут удалены с компьютера"
LangString DESC_11 ${LANG_RUSSIAN} "При удалении LightAlloy будет произведена ассоциация медиафайлов с Windows Media Player"
LangString DESC_12 ${LANG_RUSSIAN} "Перезагрузить Проводник Windows вместо перезагрузки компьютера"