У меня есть скрипт NSIS (сгенерированный с помощью мастера), который выполняет удаление, как это:сестренка деинсталлятор не удалить запись из панели управления
!define PRODUCT_DIR_REGKEY "SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\MyProgram.exe"
!define PRODUCT_UNINST_KEY "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
!define PRODUCT_UNINST_ROOT_KEY "HKLM"
...
Section -Post
WriteUninstaller "$INSTDIR\uninst.exe"
WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\MyProgram.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\MyProgram.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
SectionEnd
... в конце сценария у меня есть:
DeleteRegKey HKLM "${PRODUCT_UNINST_KEY}"
DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"
SetAutoClose true
Проблема заключается в том, что после запуска деинсталлятора запись MyProgram в панели Control Panel - Programs остается. Что случилось?
Заранее спасибо
И инструкции DeleteRegKey находятся в разделе удаления? Пожалуйста, напишите полный пример сценария, который воспроизводит проблему, и, пожалуйста, сообщите нам версию Windows, которую вы используете. – Anders
Да, DeleteRegKey находится в разделе Uninstall, перед строками DeleteRegKey есть только удаления файлов и каталогов. Я использую Windows 8.1, но проблема присутствует и в Win7 и Win10 –
Такие вещи, как RequestExectionLevel, могут повлиять на вещи, поэтому это очень раздражает, когда вы не публикуете полный скрипт, который я могу скомпилировать! – Anders