无法在添加/删除程序中嵌入链接

时间:2014-03-31 07:59:33

标签: nsis

我创建了一个窗口应用程序,我需要为其创建setup.For创建设置我正在使用NSIS。我编写了脚本来创建安装文件,我需要将此安装文件链接到添加/删除程序。要添加添加/删除程序的链接,我使用以下代码:

   WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\app" "DisplayName" "Name"
   WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\app" "AppName" '"$INSTDIR\UninstallApp.exe"'

此代码在注册表 Software \ Microsoft \ Windows \ CurrentVersion \ Uninstall \ app 中成功添加详细信息 但无法添加添加/删除链接。

3 个答案:

答案 0 :(得分:1)

您是否尝试过具有ADMIN权限的HKLM?即使用管理权限启动安装程序。

代码剪切应该如下所示

!include "MUI2.nsh"

!define PRODUCT_NAME             "MyProduct"
!define PRODUCT_UNINST_REGKEY    "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
!define PRODUCT_DEF_LOC          "$PROGRAMFILES\${PRODUCT_NAME}"
!define PRODUCT_UNINSTALLER      "MyUninstaller.exe"

!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES

!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES

!insertmacro MUI_LANGUAGE "English"

Name         "${PRODUCT_NAME} Test"
OutFile      "${PRODUCT_NAME}_Setup.exe"
InstallDir   "${PRODUCT_DEF_LOC}"


Section "Core section" SecCore

    SetOutPath $INSTDIR

    WriteRegExpandStr HKLM "${PRODUCT_UNINST_REGKEY}" "UninstallString" "$INSTDIR\${PRODUCT_UNINSTALLER}"
    WriteRegStr       HKLM "${PRODUCT_UNINST_REGKEY}" "DisplayName"     "Name"

    WriteUninstaller  "$INSTDIR\${PRODUCT_UNINSTALLER}"

SectionEnd



Section "Uninstall"
    Delete "$INSTDIR\${PRODUCT_UNINSTALLER}"
    RMDir  $INSTDIR
    DeleteRegKey HKLM "${PRODUCT_UNINST_REGKEY}"
SectionEnd

答案 1 :(得分:0)

根据the official documentation,hive HKCU仅支持当前用户的NT4 / 2000 / XP。

尝试使用HKLM。

答案 2 :(得分:0)

有两个必需的卸载字符串条目,它们是DisplayNameUninstallString

URLInfoAbout等其他条目是可选的,但必须存在两个必填项才能首先显示该项目。