innosetup 判断电脑有没有安装.netFramework

本文介绍了一种使用Delphi编写的安装程序脚本,该脚本能够检查目标计算机上是否已安装.NET Framework 2.0。如果没有安装,则会自动下载并执行安装程序。此外,还提供了一个卸载现有程序的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. [code] 
  2. function CheckDotNet2_0():boolean
  3. begin 
  4. Result:=not RegKeyExists(HKLM,'SOFTWARE/Microsoft/.NETFramework/policy/v2.0'); 
  5. end
  6.  
  7. function InitializeSetup(): Boolean; 
  8. var Path:string
  9.     ResultCode: Integer; 
  10. begin 
  11.   if CheckDotNet2_0() then 
  12.   begin 
  13.     ExtractTemporaryFile('dotnetfx20.exe'); 
  14.     Exec(ExpandConstant('{tmp}/dotnetfx20.exe'),'', '', SW_SHOWNORMAL, ewWaitUntilTerminated, ResultCode); 
  15.   end
  16.   Result:=true
  17. end
[Files]
.........
Source: "F:/周公的专栏/dotnetfx20.exe"; DestDir: "{tmp}"; Flags: ignoreversion
; 周公的专栏友情提示:dotnetfx20.exe并不会拷贝到安装后的目录中,而是在临时目录中,这样重启机器之后就会被删除掉 

[code]
function CheckDotNet2_0():boolean;
begin
Result:=not RegKeyExists(HKLM, 'SOFTWARE/Microsoft/.NETFramework/policy/v2.0');
end;

function InitializeSetup(): Boolean;
var Path:string;
    ResultCode: Integer;
begin
  if CheckDotNet2_0() then
  begin
    ExtractTemporaryFile('dotnetfx20.exe');
    Exec(ExpandConstant('{tmp}/dotnetfx20.exe'), '', '', SW_SHOWNORMAL, ewWaitUntilTerminated, ResultCode);
  end;
  Result:=true;
end;

参考这个
procedure InitializeWizard();
var ResultStr: String;
    ResultCode: Integer;
begin
  if RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\你的程序名_is1', 'UninstallString', ResultStr) then
  begin
    ResultStr := RemoveQuotes(ResultStr);
    Exec(ResultStr, '', '', SW_SHOWNORMAL, ewWaitUntilTerminated, ResultCode);
  end;
end;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值