首页 文章

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

提问于
浏览
0

我创建了一个窗口应用程序,我需要创建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 回答

  • 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
    
  • 0

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

    尝试使用HKLM .

  • 0

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

    URLInfoAbout 这样的其他条目是可选的,但必须存在两个必需的条目才能首先显示该项目 .

相关问题