论坛风格切换切换到宽版
  • 6845阅读
  • 22回复

INNO去掉版本显示 [复制链接]

上一主题 下一主题
离线969511048
 

发帖
151
金钱
1440
威望
144
只看楼主 倒序阅读 0 发表于: 2013-12-03
INNO去掉版本显示  置空或隐藏
离线969511048

发帖
151
金钱
1440
威望
144
只看该作者 1 发表于: 2013-12-03
离线gnatix

发帖
7696
金钱
-8279
威望
-828
只看该作者 2 发表于: 2013-12-04
那你就要在 [Setup] 段指定
UninstallDisplayName = XXXX
如果不设置该项,它的默认值就是 AppVerName,即 “ XXXX 版本 1111” 这样的形式。
离线969511048

发帖
151
金钱
1440
威望
144
只看该作者 3 发表于: 2013-12-04
虎版主真热心,我从没见过像虎版主这么热心的人
我都不好意思咨询其他事情了
    
离线969511048

发帖
151
金钱
1440
威望
144
只看该作者 4 发表于: 2013-12-04
我想让安装包自动安装环境包(DX9.0,VC++2008)
当安装包检测到已安装过时跳过该步骤


Inno Setup 制作安装程序[支持静默安装.NET环境]
http://www.dreams8.com/forum.php?mod=viewthread&tid=17550&fromuid=36891

我想参照上面的写,但无法编译
离线969511048

发帖
151
金钱
1440
威望
144
只看该作者 5 发表于: 2013-12-04

离线969511048

发帖
151
金钱
1440
威望
144
只看该作者 6 发表于: 2013-12-04
我想单独编译一个环境安装包,命名为修复,当无法运行主程序时,点击修复,安装环境(DX9.0,VC++2008)
嘻嘻,好主意吧!
离线gnatix

发帖
7696
金钱
-8279
威望
-828
只看该作者 7 发表于: 2013-12-05
建议不要另外做一个的单独的环境安装包,把它直接整合到你的安装程序里面就行了。
运行安装程序时检查用户系统里面的安装的版本,如果版本低于你安装包里面的,则运行你安装包的的文件,否则跳过。
下面的代码中以 Microsoft Visual C++ 2010 Redistributable 作为例子。
如果文件很大,不便于打包到你的安装程序,你也可以让安装程序直接从网上下载,然后自动安装。下面的代码以 Microsoft .NET Framework 4 作为例子。

下面的代码从本人的 Passolo 汉化版安装程序的脚本中提出,供参考。

[Files]
Source: "download\isxdl.dll"; DestDir: {tmp}; Flags: dontcopy
Source: "download\chinese.ini"; Flags: dontcopy

[code]
function isxdl_Download(hWnd: Integer; URL, Filename: PAnsiChar): Integer;
external 'isxdl_Download@files:isxdl.dll stdcall';

function isxdl_IsConnected: Integer;
external 'isxdl_IsConnected@files:isxdl.dll stdcall';

function isxdl_SetOption(Option, Value: PAnsiChar): Integer;
external 'isxdl_SetOption@files:isxdl.dll stdcall';

function vc2010_installed: Boolean;
var
  VersionNum: String;
begin
  result := false;
  if RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\VisualStudio\10.0\VC\VCRedist\x86', 'Version', VersionNum) then
    begin
      Delete(VersionNum, 1, 1);      
      if CompareVersion(VersionNum, '10.0.40219.1') >= 0 then       // 检查 VC 2010 版本号是否大于 10.0.40219.1
        result := true;
    end;
end;

function netframework4_installed: Boolean;
var
  iWert: Cardinal;
begin
  result := false;
  if RegQueryDWordValue(HKLM, 'SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full', 'Install', iWert) then
    if iWert = 1 then
      result := true;
end;

procedure CurStepChanged(CurStep: TSetupStep);
var
  ErrorCode: Integer;
begin
  if CurStep = ssPostInstall then
    begin
    if not vc2010_installed then
      begin
      WizardForm.StatusLabel.Caption := '正在安装 Microsoft Visual C++ 2010 Redistributable,请稍候...';
      ExtractTemporaryFile('vcredist_x86.exe');
      Exec(ExpandConstant('{tmp}\vcredist_x86.exe'), '/passive', '', SW_SHOWNORMAL, ewWaitUntilTerminated, ErrorCode);
      end;
    if not netframework4_installed then
      begin
      WizardForm.StatusLabel.Caption := '正在检查 Microsoft .NET Framework 运行环境,请稍候...';
      if MsgBox('警 告%n%n您的系统中尚未安装 Microsoft .NET Framework 4。%n安装程序可以自动下载并安装所需文件。%n您想要自动下载和安装 Microsoft .NET Framework 4 吗?', mbCriticalError, MB_YESNO or MB_DEFBUTTON2) = IDYES then
        if isxdl_IsConnected = 1 then
          begin
          ExtractTemporaryFile('chinese.ini');
          isxdl_SetOption('language', ExpandConstant('{tmp}\chinese.ini'));  // 语言文件
          isxdl_SetOption('title', '你的安装程序');
          isxdl_SetOption('label', '下载');  
          isxdl_SetOption('description', '下载 Microsoft .NET Framework');
          if isxdl_Download(0, 'http://download.microsoft.com/download/9/5/A/95A9616B-7A37-4AF6-BC36-D6EA96C8DAAE/dotNetFx40_Full_x86_x64.exe', PAnsiChar(ExpandConstant('{tmp}\dotNetFx40_Full_x86_x64.exe'))) = 1 then
            Exec(ExpandConstant('{tmp}\dotNetFx40_Full_x86_x64.exe'), '', '', SW_SHOWNORMAL, ewWaitUntilTerminated, ErrorCode);
          end
        else
          MsgBox('您目前没有 Internet 连接,请您以后从微软网站下载。', mbInformation, MB_OK);
       end;
    end;
end;

离线gnatix

发帖
7696
金钱
-8279
威望
-828
只看该作者 8 发表于: 2013-12-05
上面的脚本适用于 INNO 的 Unicode 版本,如果你用 ANSI 版本,可能需要一些小的调整。
离线gnatix

发帖
7696
金钱
-8279
威望
-828
只看该作者 9 发表于: 2013-12-05
脚本中使用到的两个文件:
附件: 文件.rar (52 K) 下载次数:10