如何验证是否已安装.Net Framework-InstallShield 2009

本文关键字:安装 Net Framework-InstallShield 2009 是否 何验证 验证 | 更新日期: 2023-09-27 18:27:57

我正在使用InstallShield 2009,当我单击安装向导的"完成"按钮时,必须启动一个可执行文件。

所以,为了做到这一点,我使用了自定义操作,它运行良好,但现在,我必须在调用此自定义操作之前进行验证。我必须验证.Net框架是否已安装,如果为true,则不执行,如果未安装则执行。

有人能帮忙吗?

如果有什么不清楚的地方,请告诉我。

谢谢。

如何验证是否已安装.Net Framework-InstallShield 2009

如果FW不存在,您似乎想要安装:为什么不使用先决条件
例如,请参阅此处了解有关该主题的另一个问题。

您应该能够将.NET可再发行文件与安装程序捆绑在一起,并通过调用LaunchAppLaunchApplication来执行它。

作为对其他人答案的注释,您可以使用RegDBKeyExist函数读取注册表并查看是否已经安装了.NET。

对于注册表项,您可能需要设置此选项:

REGDB_OPTIONS = REGDB_OPTIONS | REGDB_OPTION_WOW64_64KEY;

这使得注册表搜索在64位机器上使用Wow64注册表重定向。这可能是个问题。

此外,我认为默认的注册表根是HKEY_CURRENT_USER。如果您想将其更改为HKEY_LOCAL_MACHINE,可以通过调用:来完成

RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);

为什么不检查这个文件:

%systemroot%''Microsoft.NET''Framework''v4.0.30119''SystemCore.dll

如果安装了框架v4,它就可以保证存在。