@altair_u

Как сделать программу написанную на C++\CLR чтобы она работала, как обычное приложение, без глюков?

Я написал программу на языке C++\CLR. Код отлично работает, но хочу чтобы он работал во всех операционных системах семейства Windows. Но уже в XP и в 8 он глючит и пишет что приложение не win32 и т.д.
  • Вопрос задан
  • 318 просмотров
Решения вопроса 1
DmitryITWorksMakarov
@DmitryITWorksMakarov
Если программу скомпилировать как х64, то она не будет работать на х86. Если программу скомпилировать как х32 или как AnyCPU, то по логике она запустится и на х64 и на х32, с разными компромиссами по быстродействию.

Есть еще нюансы.

Не используйте абсолютные пути для хранения данных программы. Пользуйтесь помощью .NET, который вам даст и папку для временных фалов, и папку для хранения данных приложения, и текущую папку, и папку текущего пользователя, и много другого.

Не пользуйтесь реестром для хранения настроек программы, если это возможно. В разных системах и в зависимости от разрядности системы и приложения приложению могут соответствовать разные ветки в реестре. Чтобы не разгребать эту логику, храните настройки программы в конфигурационных файлах, хранящихся в папке хранения данных приложения.

Не используйте папку, в которую установлена программа в ProgramFiles, для хранения данных. В целях безопасности доступ к этой папке по умолчанию ограничен начиная с семерки. Если вы разрешили это делать у себя, то это не значит, что это можно будет сделать у пользователя.

И самое главное: тестируйте, тестируйте, тестируйте везде, где бы вы хотели, чтобы ваша программа работала.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
artem_b89
@artem_b89
Сетевой бездельник
Проверьте наличия .Net нужной версии в ОС, на которой запускаете приложение.
Или приложение можно собрать под нужную версию .Net.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы