Inno Setup 制作安装包问题总结

没有生成桌面快捷键

安装完成后,选择运行程序报错

可以参考以下文章Inno Setup 制作exe安装包_哭哭啼的博客-CSDN博客Inno Setup 制作exe安装包前言:使用Inno Setup制作exe安装包,首先需要一个可运行的exe程序,然后下载Inno Setup工具,最后才是制作安装包的过程。exe主程序此处我使用Inno Setup自带的MyProg.exe,安装好Inno Setup工具,就能找到。如图:双击效果:下载Inno Setup工具http://链接:https://pan.baidu.com/s/12NwKgpRxgei8agj5PLERcw 提取码:xx11h..https://blog.csdn.net/jg_csdn/article/details/124693110?spm=1001.2014.3001.5501

Inno setup 删除指定文件

Inno setup 删除指定文件_哭哭啼的博客-CSDN博客Inno setup 删除指定文件方式一方式二方式一[UninstallDelete];删除文件,{app}:安装目录Type: files; Name: "{app}\vcruntime140d.dll";Type: files; Name: "{app}\ucrtbased.dll";;删除文件夹Type: filesandordirs; Name: "{app}";方式二[code]procedure CurUninstallStepChanged(CurUninstallStehttps://blog.csdn.net/jg_csdn/article/details/124715229?spm=1001.2014.3001.5501

Inno setup 安装卸载前校验工作

Inno setup 安装卸载前校验工作_哭哭啼的博客-CSDN博客安装前判断是否已安装[Registry]Root: HKCU; Subkey: "Software\PowerIDE_Install"; Flags: uninsdeletekey[code]//检查进程是否运行function IsAppRunning(const FileName : string): Boolean;var FSWbemLocator: Variant; FWMIService : Variant; FWbemObjectSet: Varihttps://blog.csdn.net/jg_csdn/article/details/124726424?spm=1001.2014.3001.5501

[Files] 段编译,提示文件不存在

首先确定本地文件路径,查看Source是否包含通配符,如果包含通配符Flags必须包含recursesubdirs属性

recursesubdirs :告诉编译器或安装程序同时也搜索 Source 目录下子目录中的源文件名/通配符。

如以下格式: 

未卸载,第二次重复安装没有路径向导设置

[Setup] 节点下添加UsePreviousAppDir=no

卸载程序变更安装位置

[Setup] 修改UninstallFilesDir的值,如:

UninstallFilesDir=C:\upgrade_uninstall

安装时默认安装目录设置

如果你使用:

DefaultDirName={sd}\MYPROG
在安装程序中,这将显示:
C:\MYPROG
如果你使用:

DefaultDirName={pf}\My Program

在安装程序中,这将显示:
C:\Program Files\My Program

添加文件到C:\Windows\System32

Source: "E:\ucrtbased.dll"; DestDir: "{sys}";Flags: 64bit;Check: IsWin64 
Source: "E:\vcruntime140d.dll"; DestDir: "{sys}";Flags: 64bit;Check: IsWin64
Source: "E:\ucrtbased.dll"; DestDir: "{sys}";Check: not IsWin64
Source: "E:\vcruntime140d.dll"; DestDir: "{sys}";Check: not IsWin64

Flags: 64bit

当在 Source 和 DestDir 参数使用时,确保 {sys} 常量映射到 64 位系统目录,如果不加Flags: 64bit在64为上安装时,文件会被安装到C:\Windows\SysWOW64文件夹里。

Check:IsWin64

如果系统运行于提供 Inno Setup 执行 64 位安装任务所需的 API 支持的 64 位版本的 Windows 则返回 True。如果返回 False,你不能使用任何 Inno Setup 的只能用于 64 位的功能。
在使用 64 位功能前先检查,避免在 32 位 Windows 运行时出现异常

修改卸载程序名称


procedure CurStepChanged(CurStep: TSetupStep);
  var

    uninspath, uninsname, NewUninsName, MyAppName: string;

   begin

      if CurStep=ssDone then

        begin

        // 指定新的卸载文件名(不包含扩展名),请相应修改!

         NewUninsName := 'uninstall_upgrade';

        // 应用程序名称,与 [SEUTP] 段的 AppName 必须一致,请相应修改!

         MyAppName := 'upgrade';

          // 以下重命名卸载文件

         uninspath:= ExtractFilePath(ExpandConstant('{uninstallexe}'));

         uninsname:= Copy(ExtractFileName(ExpandConstant('{uninstallexe}')),1,8);

         RenameFile(uninspath + uninsname + '.exe', uninspath + NewUninsName + '.exe');

         RenameFile(uninspath + uninsname + '.dat', uninspath + NewUninsName + '.dat');

          // 以下修改相应的注册表内容
           // {2A122AFD-55B3-4444-A1B7-D69AC4D128B9}  AppId  
      if RegKeyExists(HKEY_LOCAL_MACHINE, 'SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{2A122AFD-55B3-4444-A1B7-D69AC4D128B9}_is1') then

              begin
               RegWriteStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{2A122AFD-55B3-4444-A1B7-D69AC4D128B9}_is1', 'UninstallString', '"' + uninspath + NewUninsName + '.exe"');

                RegWriteStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{2A122AFD-55B3-4444-A1B7-D69AC4D128B9}_is1', 'QuietUninstallString', '"' + uninspath + NewUninsName + '.exe" /SILENT');

              end;

         end;

    end;

win10开始菜单没有卸载软件快捷键

问题描述:程序第一安装是有的,安装了其他的程序,导致已安装程序的卸载快捷键消失。

解决思路,注意到使用inno setup 制作的安装包,默认卸载程序都是unins000.exe,会不会有冲突。所以尝试一下两种方式

一,修改卸载程序名称

参考前一个问题

二、将卸载程序在icon中设置两次

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值