nsis

 

nsis 函数

复制代码
Function IsFlashInstalled
Push $R0
ClearErrors
ReadRegStr $R0 HKCR "CLSID\{D27CDB6E-AE6D-11cf-96B8-444553540000}" ""
IfErrors lbl_na
StrCpy $R0 1
Goto lbl_end
lbl_na:
StrCpy $R0 0
lbl_end:
Exch $R0
FunctionEnd
复制代码

删除桌面连接:

复制代码
Function DelShortcutContrlPanel_silent
    SetShellVarContext current
    ReadRegStr $INSTDIR_REG HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_UNIST_CONTRL_PATH}" "InstallDir"
    ${StdUtils.InvokeShellVerb} $0 "$INSTDIR_REG\${INST_SUBDIR}" "${EXE_NAME}" ${StdUtils.Const.ShellVerb.UnpinFromTaskbar}
    
    ${if} $Updateflag != "true"
        Delete "$DESKTOP\$vDESKTOP_SHORTCUT_NAME.lnk"
    ${endif}
    Delete "$SMPROGRAMS\$vSHORTCUTSUBDIR\$vPROGRAM_SHUORTCUT_NAME.lnk"
    Delete "$SMPROGRAMS\$vSHORTCUTSUBDIR\$vCTROLPANEL_UNINSTALL_NAME.lnk"
    RMDir "$SMPROGRAMS\$vSHORTCUTSUBDIR\"
    
    SetShellVarContext current
    DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_UNIST_CONTRL_PATH}"
FunctionEnd
复制代码

检查oa插件

复制代码
Function InstallPlugins
    ;合同插件
    ;Call InstallVC
    ;TWDOCCTRL.TwDocCtrlCtrl.1
    ;messagebox mb_ok $Updateflag
    ${if} $Updateflag == "true"
        ;不检测
        StrCpy $vCHECKPLUGIN "0"
    ${endif}
    ${if} $vCHECKPLUGIN == "1"
        ;检测VC运行环境,合同插件问题修复
        ;Call InstallVC
        
        ;检查云办公插件,如果有删除,然后从新安装,云公文办公插件
        ;{0223E4B5-3F33-46AE-8776-904BE599C678}
        ;计算机\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{0223E4B5-3F33-46AE-8776-904BE599C678}
        ;{5bfc1380-fd35-4b85-9715-7351535d077e}
        ReadRegStr $1 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{A49F249F-0C91-497F-86DF-B2585E8E76B7}" "UninstallString"

        ${if} $1 == ""
            MessageBox MB_YESNO|MB_ICONQUESTION \
            "检测到您的系统中没有安装VC++2005运行库,请您选择是否安装(选择否会导致OA中合同系统无法使用)"\
            /SD IDYES \
            IDYES startinstall1 \
            IDNO done1
            startinstall1:
                ;messagebox mb_ok "install"
                SetOutPath "$INSTDIR\${INST_SUBDIR}"
                File "app\TistarSe${CODEVERSION}\vcredist_x86.exe"
                 ExecWait '"$INSTDIR\${INST_SUBDIR}\vcredist_x86.exe" /q'
            done1:
        ${endif}
        ;messagebox mb_ok "ContractSetup"
        ;{87140F39-CF8B-4A52-B4A0-E002DD2561DF}
        ;ReadRegStr $0 HKCR TWDOCCTRL.TwDocCtrlCtrl.1\CLSID ""
        ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{87140F39-CF8B-4A52-B4A0-E002DD2561DF}" "UninstallString"
        ;messagebox mb_ok $0
        ${if} $0 == ""
            ;xiezai
            ;messagebox mb_ok "xiezai hetong"
            ;ExecWait "MsiExec.exe /uninstall {87140F39-CF8B-4A52-B4A0-E002DD2561DF} /q"
            ExecWait "$INSTDIR\${INST_SUBDIR}\ContractSetup.exe"
        ${endif}
        
        ExecWait "regsvr32.exe /s $INSTDIR\${INST_SUBDIR}\plugins\OfficeControl.ocx"
        
        
        
    ${endif}
复制代码

 

posted @   Bigben  阅读(208)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2015-01-14 Android ImageView图片自适应
2015-01-14 Java关键字synchronized详解
点击右上角即可分享
微信分享提示