Виртуальная машина : Боюсь, это звучит немного странно.Не могли бы вы использовать виртуальную машину с установленной на ней Visual Studio для создания рассматриваемого проекта установщика Visual Studio?
WiX и др. : преобразование в WiX или другой инструмент развертывания помимо проектов установки Visual Studio решит проблему?Это очень сложный установщик?Использование декомпилятора WiX dark.exe
для декомпиляции разметки MSI в WiX может помочь вам преобразовать установщик в формат WiX.Для успешной работы потребуется немало знаний о WiX.Может быть, что-то, что консультант мог сделать быстро?Зависит от сложности.
Windows API-set : Насколько мне известно api-ms-win-core-heap-l2-1-0.dll
- это Windows API-set , а не реальный файл или реальная зависимость как таковая.Это новые конструкции в Windows.Попробуйте открыть такой файл набора API с помощью Dependency Walker , чтобы увидеть, на что они перенаправляют.Довольно таинственны эти наборы API:
Набор API - это строгое название для списка Win32 API .Соглашение о назначении строгого имени для набора API состоит в том, чтобы использовать то, что выглядит как имя DLL.Но цель набора API состоит в том, чтобы обеспечить архитектурное разделение между именем набора API и связанной с ним реализацией DLL хоста для улучшения переносимости вашего приложения, поэтому вы должны рассматривать имя набора API как просто уникальную символьную строку, ине как имя DLL .Для отложенной загрузки используется имя набора API.
Наборы API полагаются на поддержку операционной системы в загрузчике библиотеки для эффективного внедрения компонента перенаправления пространства имен в процесс привязки библиотеки .При наличии различных входных данных, включая имя набора API и контекст привязки (импорта), загрузчик библиотеки выполняет перенаправление во время выполнения ссылки на двоичный файл целевого хоста, в котором находится соответствующая реализация набора API.
Разъединение между реализацией и интерфейсными контрактами, предоставляемыми наборами API, предлагает много инженерных преимуществ, но также может потенциально уменьшить количество библиотек DLL, загруженных в процесс.
На диске я нахожу большинство этих наборов API в %SystemRoot%\WinSxS
и %SystemRoot%\System32\downlevel
.
Хорошая статья о технических аспектах этой новой функции набора API .
Сложный исполняемый файл : Хотя devenv.exe
- это просто файл EXE, как и любой другой, я думаю,будут зависимости для *1070* проектов установщика Visual Studio помимо таблиц импорта DLL, которые будет очень трудно правильно настроить, а как быть с будущими выпусками, когда все могут выйти из строя без предупрежденияING?(если что-то изменится - Visual Studio в последнее время стала довольно подвижной целью).
Быстрый запуск WiX : Вот некоторые изЛучшие ссылки, которые я нашел со временем для WiX: