Я знаю обо всех этом и этом вопросах.
Что, к сожалению, не совсем соответствовало тому, что я хотел бы знать:
Ответы на приведенные выше вопросы показывают, что это связано с добавлением ярлыков в меню «Пуск», но это не может быть единственной причиной. До сих пор я не смог достоверно выяснить , что заставляет Windows думать, что мое приложение в первую очередь является установщиком и почему Windows думает, что оно не удалось?
Я не хочу просто подавлять сообщение с помощью тега совместимости в манифестах. Я хочу написать правильное решение и сообщить Windows, если моя установка не удалась или нет . Кроме того, что делает установка с использованием рекомендуемой настройки , которая идет вместе с диалоговым окном? Как я могу правильно использовать эту функцию? Опять же, я не хочу просто игнорировать функции, предоставляемые Windows, я бы хотел их использовать.
Я просматривал MSDN, но безуспешно. Я спросил Google, но все, что я мог найти, - это способы подавить сообщение, используя приемы совместимости в манифесте или реестре. Я был бы уже благодарен, если бы кто-нибудь смог предоставить на MSDN надежный ресурс, который бы хорошо освещал эту тему.
Пока что я использую пользовательский установщик, который использует несколько вызовов Windows API. Я не возиться с реестром Windows, кроме регистрации двух служб. Он также имеет requireAdministrator
в качестве запрошенного уровня выполнения (не то, чтобы кому-то было все равно, но это удивительно чисто и просто - это просто флаг в настройках проекта). В настоящее время я не использую MFC или CLR.