如何在运行时 (NSIS) 中获取 nsh 代码中丢失的 dll 文件错误回调
Posted
技术标签:
【中文标题】如何在运行时 (NSIS) 中获取 nsh 代码中丢失的 dll 文件错误回调【英文标题】:How to get missing dll file error callback in nsh code in run time (NSIS) 【发布时间】:2019-04-15 03:31:13 【问题描述】:我正在使用 NSIS 为我的软件创建安装程序。我的软件依赖于 Microsoft c++ 再分发软件。因此,在安装我的软件时,如果用户系统有一些 .dll 文件丢失/损坏,那么安装程序会显示错误。
我希望每当出现此类错误时,NSIS 脚本都会收到错误回调,我首先启动 c++ 再分发软件安装。
那么如何实现呢?
谢谢
【问题讨论】:
安装程序在技术上并未显示此错误,它是 Windows 加载程序。您还忘记发布代码以显示您的执行方式。 【参考方案1】:发送这个可执行文件。 https://www.microsoft.com/en-us/download/details.aspx?id=48145
安装
ExecWait '"vc_redist.x86.exe"'
一个不让它到处乱扔的聪明方法是:
InitPluginsDir ; If you haven't already
SetOutPath $PLUGINSDIR
File vc_redist.x86.exe
ExecWait '"vc_redist.x86.exe"'
SetOutPath $INSTDIR
它会在控制面板中创建自己的安装条目,因此您在卸载时什么也不做。
(如果您的程序是 64 位,则需要 64 位版本,并且在这种情况下会发现 pluginsdir 方法更不容易出错。)
【讨论】:
以上是关于如何在运行时 (NSIS) 中获取 nsh 代码中丢失的 dll 文件错误回调的主要内容,如果未能解决你的问题,请参考以下文章
在 Windows x64 和 NSIS 中使用 .INF 安装打印机