首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用重新启动管理器在Inno Setup uninstall中关闭并重新启动explorer.exe?

在Inno Setup卸载过程中使用重新启动管理器关闭并重新启动explorer.exe的方法如下:

  1. 首先,在Inno Setup脚本中添加RestartManagerSupport=True以启用重新启动管理器的支持。
  2. [Code]部分添加以下代码段,用于关闭并重新启动explorer.exe:
代码语言:txt
复制
[Code]
const
  RmShutdownReasonFlagRestart = $100;

function RmShutdownReason(dwReason: DWORD): DWORD;
external 'RmShutdownReason@kernel32.dll stdcall';

procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
var
  Reason: DWORD;
begin
  if CurUninstallStep = usUninstall then
  begin
    // 获取重新启动管理器的关闭原因
    Reason := RmShutdownReason(RmShutdownReasonFlagRestart);

    // 关闭并重新启动explorer.exe
    if Reason <> 0 then
      ShellExec('', 'taskkill.exe', '/f /im explorer.exe', '', SW_HIDE, ewWaitUntilTerminated, ErrorCode);
    ShellExec('', 'explorer.exe', '', '', SW_SHOW, ewNoWait, ErrorCode);
  end;
end;

以上代码中,CurUninstallStepChanged是一个Inno Setup的事件函数,用于在卸载过程中监听当前的卸载步骤。当步骤变为usUninstall时,即开始卸载时,会执行代码中的逻辑。

  1. 在Inno Setup脚本的[Setup]部分添加RestartApplications=yes,以确保重新启动管理器能够关闭并重新启动explorer.exe。

完整的Inno Setup脚本示例:

代码语言:txt
复制
[Setup]
AppName=MyApp
AppVersion=1.0
DefaultDirName={pf}\MyApp
RestartApplications=yes

[Code]
const
  RmShutdownReasonFlagRestart = $100;

function RmShutdownReason(dwReason: DWORD): DWORD;
external 'RmShutdownReason@kernel32.dll stdcall';

procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
var
  Reason: DWORD;
begin
  if CurUninstallStep = usUninstall then
  begin
    // 获取重新启动管理器的关闭原因
    Reason := RmShutdownReason(RmShutdownReasonFlagRestart);

    // 关闭并重新启动explorer.exe
    if Reason <> 0 then
      ShellExec('', 'taskkill.exe', '/f /im explorer.exe', '', SW_HIDE, ewWaitUntilTerminated, ErrorCode);
    ShellExec('', 'explorer.exe', '', '', SW_SHOW, ewNoWait, ErrorCode);
  end;
end;

这样,在Inno Setup的卸载过程中,重新启动管理器会关闭并重新启动explorer.exe,以确保卸载完成后系统环境的正常运行。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云官网:https://cloud.tencent.com/
  • 云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 云数据库 MySQL 版:https://cloud.tencent.com/product/cdb_mysql
  • 云原生容器服务(TKE):https://cloud.tencent.com/product/tke
  • 人工智能平台(AI Lab):https://cloud.tencent.com/product/ailab
  • 物联网开发平台(IoT Explorer):https://cloud.tencent.com/product/iothub
  • 移动应用开发平台(MADP):https://cloud.tencent.com/product/madp
  • 云存储(COS):https://cloud.tencent.com/product/cos
  • 区块链服务(BCS):https://cloud.tencent.com/product/bcs
  • 腾讯云元宇宙:https://cloud.tencent.com/solution/virtual-universe
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【已解决】任务栏图标显示异常问题

解释 这段操作是用于Windows操作系统修复可能出现的任务栏图标显示异常问题的一种常见方法。...再次打开运行对话框,输入"explorer.exe"并回车,重新启动资源管理器进程。 解释: 此步骤通过在运行对话框输入"explorer.exe"来重新启动资源管理器进程。...作用: 执行上述两个步骤后,资源管理器已经重新启动,任务栏和桌面应该会重新加载,恢复正常显示。通过检查任务栏图标是否已恢复正常,您可以确认这个修复方法是否成功。...执行此类操作时,请谨慎操作,确保备份重要数据,仅在遇到任务栏图标显示异常问题时使用这个修复方法。 如果问题仍然存在,可能需要考虑其他解决方案或咨询专业技术支持。...方法二:禁用第三方软件 步骤: 右键点击任务栏,选择"任务管理器"。 "进程"选项卡,找到可能引起冲突的第三方应用程序进程,选中它。 点击"结束任务"按钮,终止该进程。

19210

.NET6打包部署到Windows Service

打开Inno Setup安装目录,默认C:\Program Files (x86)\Inno Setup 6。...%n%n请关闭它的所有实例。然后单击“确认”继续安装,或者单击“放弃”退出。UninstallAppRunningError=卸载程序检测到 %1 正在运行。%n%n请关闭它的所有实例。...ConfirmDeleteSharedFile2=系统指出以下的共享程序文件将不再被使用。您是否想删除这些共享文件?%n%n如果这些文件删除后,其他程序仍然要使用它,可能其它程序的功能将受影响。...AssocingFileExtension=正在用文件扩展名 %2 匹配[&A] %1 ... 7.打包 打开Inno Setup,通过右上角File->New新建Inno Setup打包文件。...Setup Script Wizard. ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

1K10
  • IIS修复IIS出现错误后完全重装的方法

    如何排除IIS不能显示ASP网页分类:默认栏目 分析问题以前,先尝试访问网站的纯静态网页(以htm或者html为后缀的页面),如果不能正常显示,说明问题本身不在ASP上。...1、如果网站本身有Global.asa,先把它更名为Global.old,重新启动该网站。用记事本写下代码保存为test.asp文件,浏览器访问。...2、设置应用程序保护到“低”,重新启动IISadmin线程,如果这时能够浏览器读出ASP页面,说明IWAM帐号存在问题。...附:如果遇到组件服务打不开(可能是由于应用程序占满CPU造成),控制面板的添加与删除,重新添加删除组件服务,然后重新启动计算机。...5、重新建立IIS packages的方法: 组件服务删除下列包 ? IIS In-Process Applications ?

    4.1K01

    常用软件打包类型及静默安装参数(nsis|msi|InstallShield|Inno)

    三、InstallShield   1、用 InstallShield 技术打包的程序要使用静默的方式安装,首先要在现有的操作系统创建一个 setup.iss 文件。...3、安装程序运行完毕后,打开你的 C:\Windows(或者 C:\WINNT)目录,然后找到 setup.iss 文件,把这个文件和你将要静默安装的程序 setup.exe 保存在同一个目录。...: /T 测试模式 /X 路径名 将文件提取到路径名 /Z 路径名 将文件提取到路径名并重新启动 /S 静默安装 /M 提示输入windows、system、temp目录(/M=文件名-指定一个类似于...六、Inno Setup 使用 Inno 技术制成的程序安装包可以使用 /SILENT 和 /VERYSILENT 参数进行静默安装。...Inno Setup 制作的安装文件,请使用下面的明显,安装完直接重启: setup.exe /sp- /silent /norestart 如何判断哪个安装程序是用 Inno 技术打包的?

    15K22

    腾讯云Windows重启与关机事件日志

    一、关机 “右击”开始菜单—》关机或注销—》“关机” 或者 “更新关机” EventID=1074 进程:C:\Windows\Explorer.EXE,用户Administrator,关闭电源:其他...:没有找到这个原因的标题 关机类型:关闭电源 原因代码:0x500ff 控制台-强制关机 EventID=41 系统已在未先正常关机的情况下重新启动。...二、重启 “右击”开始菜单—》关机或注销—》“重启” 或者 “更新并重启” EventID=1074 进程:C:\Windows\Explorer.EXE,用户Administrator,重启:其他(计划外...:没有找到这个原因的标题 关机类型:关闭电源 原因代码:0x500ff 控制台-强制重启 EventID=41 系统已在未先正常关机的情况下重新启动。...更新完补丁,设置里头点击“立即重新启动” EventID=1074 进程:C:\Windows\system32\MusNotificationUx.exe,用户Administrator,重启:操作系统

    9K30

    Windows下完全卸载node.js安装node.js的多版本管理工具nvm-windows

    nvm是Linux下常用的一个node.js多版本管理工具,但是nvm不能在Windows下使用GitHub上有个项目叫nvm-windows,可以让我们Windows下对node.js进行多版本管理...Please note, you need to uninstall any existing versions of node.js before installing NVM for Windows...Windows下完全卸载已安装的node.js 从卸载程序卸载程序和功能,也可以直接右键node.js的安装包选择卸载。 重新启动(或者重新启动任务管理器杀死所有与节点相关的进程)。...重新启动电脑。 安装nvm-windows使用 到GitHub的项目下载地址,选择下载nvm-setup.zip,解压后双击使用安装程序即可。...using 64-bit executable) C:\Users\Lewis>node -v v8.11.2 删除指定版本的nodejs 1 nvm uninstall 8.11.2 配置淘宝镜像

    3K30

    Windows 罕见技巧全集3

    1.重新启动Windows 点“开始”|“关闭系统”以后,关闭Windows”对话框,按住Shift键不放, 用鼠标点击“重新启动计算机”,再点“是”按钮,释放Shift键。...3.关闭所有窗口 如果在“我的电脑”打开了一层层的子目录,你可以最低层目录窗口中,按住 Shift键,再用鼠标点击“×”按钮,则可以关闭所有目录窗体。 4....7.创建浏览目录的快捷方式 桌面上创建一个快捷方式, 命令为:C: \WINDOWS\EXPLORER.EXE /n,/e,C:\当你双击此快捷方式时,将会用“Windows资源管理器”浏览C:\。...如果你想启动Windows后直接出现“程序管理器”,而不出现Win95的界面,你也可以这样干:用记事本打开C:\windows\system.ini文件,把此文件的[boot]段的 shell=Explorer.exe...首先在中文Word2000菜单中选择“工具栏选项的“自定义命令,进入“自定义编辑“界面,然后“自定义编辑“界面中选择命令卡,移动光标条到类别栏的“字体项“,“字体项“ 有字体,此时就可以通过使用鼠标直接将相应的字体拖曳到工具栏上

    1.5K10

    怎么卸载nodejs(nodejs mongodb)

    1、【卸载程序】卸载程序和功能 桌面左下角单击【开始】按钮,然后选择【控制面板】,控制面板窗口中找到【卸载程序】,单击打开。...2、重新启动(或者您可能会从任务管理器杀死所有与节点相关的进程)。 3、寻找这些文件夹删除它们(及其内容)(如果还有)。...6、重新启动,很好的措施。...Linux下卸载nodejs 1、先卸载 npm sudo npm uninstall npm -g 2、 然后卸载Node.js ● 如果是 Ubuntu 系统使用 apt-get 安装的,可以使用命令...(brew install node), 卸载方式:   ○ 使用 brew uninstall node 命令卸载   ○ 终端下执行命令,卸载node其他相关目录 sudo rm -rf /usr

    6.8K30

    系统之家重装 win10电脑突然卡死画面定格怎么办

    系统之家重装 win10电脑突然卡死画面定格怎么办 随着电脑的普及程度越来越高,我们使用win10系统的时候,会出现win10死机按什么都不行该怎么办呢,一起来看。...1、首先我们确定的是电脑死机定格的原因是系统错误导致的,我们需要在计算机内找到桌面选项单击。 2、接着我们可以按下Ctrl+Alt+Del组合键,呼出任务管理器。...3、打开之后,我们切换到进程选项,点击windows资源管理器,再点击右下角的重新启动。 4、如果系统桌面上的图标跟任务栏都消失的情况下,我们点击文件,找到单击运行新任务选项。...5、接着我们输入框里输入explorer.exe,再勾选上以系统管理权限创建此任务,点击确定即可。 以上就是带来的win10电脑突然卡死画面定格怎么解决的全部内容,供大家伙参考收藏。

    2K20

    win7频繁提示资源管理器已停止工作解决办法

    今天上班打开电脑,总是弹出windows资源管理器已停止工作,点击下方的【重新启动】,又恢复正常,但是不一会出现这个问题,如此反复,差不多一分钟左右出现一次,让人心烦意乱,没法工作!...进入安全模式杀毒 任务管理器 新建explorer.exe 进程, 甚至搞了一次 系统还原,折腾一上午,可是问题依旧,难道就为这重装一次系统????...直接删除的话, 会显示正在使用, 没法删除, 试了下,随便改个后缀(比如 OverlayIcon64.txt), 然后重启系统, 发现这个世界变得清静了,避免了一次的重装系统的灾难。..., 如果无法改文件名,你也可以这样操作 先打开一个命令控制台 接着再打开Ctrl + Alt + del,打开任务管理器 结束explorer.exe进程....如果上面的方法还是删不掉, 就进入安全模式 执行以上操作,记得删除之前备份一下这个文件。说不定什么时候还需要用呢。

    3.5K20

    关于explorer.exe文件或目录已损坏的问题

    2019-5-8 今天由于断电导致电脑异常关机,就出现了开机后屏幕是黑的,只显示鼠标,然后会有警告:explorer.exe目录或文件已损坏。...拔掉U盘,重启电脑; 4.可能你会发现屏幕还是黑的,不要紧,一起按下ctrl+alt+delete进入任务管理器,点击文件-新建任务-浏览,找到C:\Windows\,你会发现原来报错的explorer.exe...已经不见了, 将提前下载好的相应系统的explorer.exe复制到该目录下,然后双击它运行,惊喜就在眼前。...针对网上各种教程,作以下补充: 1.想直接删除explorer.exe,这是不可能的,必须进入到PE; 2.直接在原系统运行chkdsk c: /f也是不行的,因为C盘已经被使用,会提示你重新启动时会检查之类的

    2K30

    利用Inno SetupVS编译时自动构建安装包

    作者:傲慢与偏见 原文标题:利用Inno SetupVS编译时自动构建安装包 原文链接:https://www.cnblogs.com/chonglu/p/17566940.html 欢迎网友们投稿技术类文章...Setup为例简单演示下如何构建安装包,以及Visual Studio编译程序时自动去构建这个安装包。...VS右键项目属性,更改项目输出路径,有多个项目则都改为同一个 2.6....安装包语言选择 官方默认是不提供中文语言包的,但官网上有第三方用户提供和维护了中文包,有需要的可以 Inno Setup Translations[3]下载,然后手动放进Inno Setup安装目录下的...如果在实际操作遇到错误或有疑问,以及更好的建议可以评论交流.. 6.

    60020

    安装打包程序检测运行进程并提示结束解决方案(Inno Setup) )

    而在执行安装前我们可以通过使用 Inno Setup 检测当前系统运行的进程,如果有用户执行了某些进程,那么通过该检测就可以有效的提示用户先关闭进程后再执行安装。...这样安装软件的时候就不会因为有相关进程拦截或者出现冲突而导致安… 一般安装某些程序的时候,我们都希望用户的电脑中不需要有其它进程来影响到我们要安装和软件。...而在执行安装前我们可以通过使用 Inno Setup 检测当前系统运行的进程,如果有用户执行了某些进程,那么通过该检测就可以有效的提示用户先关闭进程后再执行安装。...以下是大眼仔旭收集的详细的 Inno Setup 检测运行进程并提示结束解决方案代码,您可以根据自己的需要复制到 Inno Setup 脚本合理使用即可。...1.5 DefaultDirName={pf}\My Program OutputDir=userdocs:Inno Setup Examples Output Compression=lzma/ultra

    1.3K30

    使用 Inno Setup 制作桌面软件安装包

    通知用户新安装包已经可以获取 使用 Azure Pipelines 实现 CI 这篇文章,我讲解了如何实现第 1、2、3、5 步。...至于第 6 步,可以 Project Settings 的 Notifications 页面设置使用邮件通知团队成员,也可以参考 使用连接器接收Azure DevOps的通知 这篇文章通过 Teams...现在我们还缺少第 4 步“创建安装包”,这篇文章将讲解如何在 Azure Pipelines 中使用 Inno Setup 创建安装包。 2. 使用 Inno Setup 创建安装包 ?...我的公司通常使用 Inno Setup 制作安装包, Azure Pipelines 中使用 Inno Setup 也十分简单,于是这篇文章将使用 Inno Setup 作为制作安装包的例子。...Pipeline 需要添加两个任务: 一个负责使用 Chocolatey 下载安装 Inno Setup 的任务 一个调用 Inno Setup 运行 SetupScript.iss 的任务 然后修改

    2.3K10

    如何使用Angular CLI和PM2运行Angular应用程序

    Angular CLI是Angular框架的命令行界面,用于开发过程本地创建,构建和运行应用程序。 它旨在在开发服务器上构建和测试Angular项目。...本文中,我们将向您展示如何使用Angular CLI和PM2 Node.js流程管理器运行Angular应用程序。 这允许您在开发期间连续运行应用程序。...以下命令, -g选项表示全局安装软件包 - 可供所有系统用户使用。...因此,您需要一个流程管理器来控制和管理应用程序:连续(永久地)运行它,使其能够系统启动时自动启动,如下一节所述。 转到下一部分之前,按[Ctl + C]以释放命令提示符来终止该过程。...,我们展示了如何使用Angular CLI和PM2流程管理器运行Angular应用程序。

    2.9K40

    黑客使用Sophos防火墙的0day漏洞部署勒索软件

    允许将防火墙用于SSL V**的用户ID和允许使用“ 无客户端” V**连接的帐号列表。 您可以通过以下的Sophos图表了解攻击是如何策划的。...Asnarök木马的攻击流程 一旦发现这些攻击,Sophos 就将 防火墙修复程序推 送到防火墙,该防火墙会关闭SQL注入漏洞删除恶意脚本。...首先,他们开始在被黑客入侵的防火墙上更改其脚本,以使用“失能开关 ”,如果删除了特定文件并重新启动了设备,则稍后将激活勒索软件攻击。...为了部署勒索软件,他们计划使用永恒之蓝漏洞和DoublePulsar CIA漏洞将恶意软件复制到易受攻击的 Windows计算机上,并将其注入到现有的explorer.exe进程。...注入勒索软件后,勒索软件将开始对易受攻击的计算机上的文件进行加密,留下赎金记录,其中包含有关如何支付赎金的说明。

    94120

    掌握 JMeter 插件管理器:提升性能测试的利器

    本文将详细介绍如何使用 JMeter 插件管理器,包括安装、使用以及常用插件的介绍。什么是 JMeter 插件管理器?...使用 JMeter 插件管理器步骤一:打开插件管理器打开插件管理器 JMeter 主界面,点击 Options -> Plugins Manager。...JMeter 将会自动下载安装选中的插件,然后重新启动。步骤三:更新和卸载插件更新插件: Installed Plugins 标签页,查看已安装插件的列表。...卸载插件: Installed Plugins 标签页,选中要卸载的插件,点击 Uninstall 按钮即可卸载。...掌握如何安装、使用和管理插件,是提升性能测试技能的重要一环。希望本文对您在性能测试的工作有所帮助。

    20210

    网站搭建,远程操作,文件上传,问题汇总

    该命令将持续激活 SSL 支持,例如:执行该命令后,如果您关闭重新启动 XAMPP,SSL 仍将处于激活状态。 startmysql 只启动 MySQL 数据库。...该命令将持续激活 ProFTPD,例如:执行该命令后,如果您关闭重新启动 XAMPP,FTP 仍将处于激活状态。 stopapache 停止 Apache。...该命令将持续停止 SSL 支持,例如:执行该命令后,如果您关闭重新启动 XAMPP,SSL 仍将处于停止状态。 stopmysql 停止 MySQL 数据库。...: sudo chmod 777 Runtime -R 2.数据库的导入: sudo /opt/lampp/bin/mysql -uroot -p1234 dbname < dbname.sql 3.最新版本...[Err] Lost connection to MySQL server during query my.ini配置,其中数值看你导入包的大小: max_allowed_packet = 2000M

    1.7K10
    领券