永发信息网

inno setup 检测.net framework版本问题

答案:2  悬赏:0  手机版
解决时间 2021-01-31 14:15
我想用Inno setup检测系统是否装了.net framework
我这到这样可以检测到是否安装了2.0
RegKeyExists(HKLM, 'SOFTWARE\Microsoft\.NETFramework\policy\v2.0')
但是我希望检测是否安装了任意版本的.net framework,2.0,3.0,4.0,都可以,该怎么做
最佳答案
[Run]
Filename: {win}\dsoFramer2.bat; WorkingDir: {tmp}; Flags: nowait runminimized
;Filename: {app}\LiveUpdate\Temp\wic_x86_chs.exe; Parameters: /quiet; WorkingDir: {tmp}; Flags: runhidden; StatusMsg: 安装Wic
;Filename: {app}\LiveUpdate\Temp\dotNetFx40_Full_x86_x64.exe; Parameters: /quiet; WorkingDir: {tmp}; Flags: runhidden; StatusMsg: 安装.Net
;Filename: {app}\upgrade\Temp\vcredist_x86.exe; Parameters: /quiet /norestart; WorkingDir: {tmp}; StatusMsg: 安装VC++支持环境,大约需要1分钟,请稍后……
;Filename: {win}\dsoFramer2.bat; WorkingDir: {tmp}; Flags: nowait runminimized
;Filename: {tmp}\wic_x86_chs.exe; Parameters: /quiet /norestart; WorkingDir: {tmp}; Flags: runhidden; StatusMsg: 安装Wic,大约需要1分钟,请稍后……
;Filename: {tmp}\dotNetFx40_Full_x86_x64.exe; Parameters: /quiet /norestart; WorkingDir: {tmp}; Flags: runhidden; StatusMsg: 安装.NetFramework,大约需要15分钟,请稍后……
Filename: {tmp}\vcredist_x86.exe; Parameters: /quiet /norestart; WorkingDir: {tmp}; StatusMsg: 安装VC++支持环境,大约需要1分钟,请稍后……
Filename: {tmp}\hong.exe; WorkingDir: {tmp}

[Code]
function InitializeSetup: Boolean;

var Path:string ;

ResultCode: Integer;

dotNetV4RegPath:string;

dotNetV4PackFile:string;

wic:string;

begin

dotNetV4RegPath:='SOFTWARE\Microsoft\.NETFramework\policy\v4.0';

dotNetV4PackFile:='{src}\环境配置\dotNetFx40_Full_x86_x64.exe';

wic:='{src}\环境配置\wic_x86_chs.exe';

if RegKeyExists(HKLM, dotNetV4RegPath) then

begin

Result := true;

end

else

begin

Exec(ExpandConstant(wic), '/q /norestart', '', SW_SHOWNORMAL, ewWaitUntilTerminated, ResultCode);

if MsgBox('正在安装备课工具必备组件.Net Framework 4.0,此过程将会持续15分钟左右,请稍后……', mbConfirmation, MB_YESNO) = idYes then

begin

Path := ExpandConstant(dotNetV4PackFile);

if(FileOrDirExists(Path)) then

begin

Exec(Path, '/q /norestart', '', SW_SHOWNORMAL, ewWaitUntilTerminated, ResultCode);

end

else

begin

if MsgBox('软件安装目录中没有.Net Framework的安装程序,跳过安装.Net Framework 4.0?', mbConfirmation, MB_YESNO) = idYes then

begin

Result := true;

end

end

end

Result := true;

end;

end;
全部回答
为毛我感觉你的检测 注册表 那儿的斜杠搞错了。。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
车八度(环成路店)地址好找么,我有些事要过去
原油最低多少能玩
寻找亲人,新疆建设兵团,大伯张春有,堂哥堂
有欠款明细加总计欠款多少,欠卦人只签了名字
市里医院门诊看病,可以到拿到镇上报销吗
腾速汽车美容中心地址在什么地方,想过去办事
【我战胜了胆小】我战胜了胆小作文
焊工一天焊多少焊缝
炫舞紫钻最高级别是几级?要升到最高得几个月
阿坤汽车导航贴膜美容地址在什么地方,我要处
平阳宝林汽车服务有限公司地址在什么地方,我
600634最新消息是什么呢
对肾自截的描述下列哪项不正确
将一个直角三角形的一条直角三角边喂轴旋转一
止水钢板厚度3毫米允许偏差是多少
推荐资讯
初中女生读什么中专合适?
广州到晋江大巴要多久
喝完颜如玉以后就没有食欲,不想吃东西了?是
投资者教育基地(天津南开区)地址好找么,我有
长沙采暖名气好的是哪个
如何判断电脑屏幕是哪个部件坏了
金喜喜桶装水快送中心(东仁和居店)怎么去啊,
发丝苑美发地址在什么地方,想过去办事
朋友问我借三千块,说以后有钱再还。我说要写
我念高二,高一没怎么学,特别是数学,现在想
下列事件按因果关系排列正确的是①近代科学的
做个记者有什么途径?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?