Как проверить, установлен ли .Net Framework - InstallShield 2009? - PullRequest
0 голосов
/ 16 марта 2012

Я использую InstallShield 2009 и должен запускать исполняемый файл, когда нажимаю кнопку «Готово» мастера установки.

Итак, для этого я использовал настраиваемое действие, и оно работает нормально, ноТеперь я должен сделать проверку, прежде чем вызывать это пользовательское действие.Я должен проверить, установлен ли .Net Framework, если true, не выполнять, если не установлен, выполнить.

Кто-нибудь может помочь?

Пожалуйста, дайте мне знать, если что-то не так 't clear.

Спасибо.

Ответы [ 3 ]

1 голос
/ 16 марта 2012

Похоже, вы хотите установить FW, если его нет: почему вы не используете обязательное условие?
См., Например, ЗДЕСЬ для другого вопроса по этой теме.

0 голосов
/ 16 марта 2012

Почему бы вам просто не проверить этот файл:

% SystemRoot% \ Microsoft.NET \ Framework \ v4.0.30319 \ System.Core.dll

Он гарантированно будет там, если установлен framework v4.

0 голосов
/ 16 марта 2012

Вы должны иметь возможность связать распространяемый пакет .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);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...