我想用Inno setup检测系统是否装了.net framework
我这到这样可以检测到是否安装了2.0
RegKeyExists(HKLM, 'SOFTWARE\Microsoft\.NETFramework\policy\v2.0')
但是我希望检测是否安装了任意版本的.net framework,2.0,3.0,4.0,都可以,该怎么做
inno setup 检测.net framework版本问题
答案:2 悬赏:0 手机版
解决时间 2021-01-31 14:15
- 提问者网友:杀手的诗
- 2021-01-30 18:31
最佳答案
- 五星知识达人网友:拜訪者
- 2021-01-30 18:52
[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;
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;
全部回答
- 1楼网友:何以畏孤独
- 2021-01-30 19:05
为毛我感觉你的检测 注册表 那儿的斜杠搞错了。。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯