Приложение не удалось правильно инициализировать - Использование пользовательского установщика - Ошибка CxC0000135
Программное приложение и пользовательский установщик были созданы с использованием VB.NET.
Когда я запускаю Setup.exe (пользовательский установщик) на рабочей станции пользователя, он выдает следующую ошибку:
Application failed to initialize properly CxC0000135
Я понимаю, что это потому, что.NET Framework должен быть установлен на рабочей станции.
В настоящее время решение состоит в том, чтобы: установить.NET Framework, а затем запустить специальный установщик. Это, очевидно, не удобный способ установки приложения.
Какое решение можно использовать для уменьшения усилий пользователя по установке приложения?
2 ответа
Ну, вы не можете запустить исполняемый файл, написанный в управляемой среде (в данном случае.NET), чтобы проверить, существует ли эта среда. Вам нужно будет либо написать сценарий, который будет проверять записи реестра, либо использовать альтернативный язык (который использует библиотеки, изначально поддерживаемые в системе, поэтому вам придется писать свое приложение в неуправляемом коде), чтобы написать приложение для проверки.
Единственное, что я хотел бы добавить, так это найти каталог для максимальной гибкости из CMD:
%windir%\Microsoft.NET\Framework\v3.5
Как упоминал Al-3sli, пользовательский установщик должен быть скриптом или программой, написанной на другом языке, который использует библиотеки, изначально поддерживаемые системой.
Нужно проверить, установлен ли.NET Framework. Обычно это определяется проверкой реестра, как описано здесь: Как определить, какие версии.NET Framework установлены
Вот пример кода на C++, который делает это:
Пример кода для определения состояния установки.NET Framework и уровня пакета обновления