Вы должны иметь возможность связать распространяемый пакет .NET с установщиком и выполнить его с помощью вызова LaunchApp
или LaunchApplication
.
В качестве комментария к чужому ответу вы можете использовать функцию RegDBKeyExist
, чтобы прочитать реестр и посмотреть, установлен ли уже .NET.
Для ключей реестра вы можете установить эту опцию:
REGDB_OPTIONS = REGDB_OPTIONS | REGDB_OPTION_WOW64_64KEY;
Это позволяет при поиске в реестре использовать перенаправление реестра Wow64 на 64-разрядных компьютерах. Это может быть проблемой.
Кроме того, я думаю, что корнем реестра по умолчанию является HKEY_CURRENT_USER. Если вы хотите изменить его, скажем, на HKEY_LOCAL_MACHINE, вы можете сделать это, вызвав:
RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);