Запуск devenv против .vdproj в командной строке не создает MSI - PullRequest
4 голосов
/ 21 мая 2010

Я хочу сгенерировать файлы MSI из файла .vdproj, используя команду devenv в командной строке. Эта команда работает нормально, но файл MSI не создается. Что не так?

Что я должен установить в переменных среды, или есть какой-либо другой способ создания MSI из файла .vdproj?

Ответы [ 4 ]

5 голосов
/ 19 апреля 2011

Обычно (по моему опыту!) Это вызвано неправильной настройкой конфигурации сборки. В Visual Studio на уровне решения вы можете перейти в меню Build и выбрать Configuration Manager. Убедитесь, что для всех применимых конфигураций (выбранных из раскрывающегося списка Active Solution Configuration) в проекте установщика есть галочка в столбце Build.

Теперь вам нужно убедиться, что при вызове devenv вы передаете соответствующую конфигурацию сборки (т. Е. С отметкой Build для проекта установки) следующим образом:

C:\PathToVisualStudio\devenv.exe /Rebuild Release C:\PathToProject\ProjectName.sln" /Out "PathToProject\vs_errors.txt"

(В этом примере Release - это конфигурация сборки, на которую я нацеливаюсь)

Эта команда также записывает выходные данные Visual Studio в текстовый файл с именем vs_errors.txt в той же папке, что и ваше решение, так что вы можете проверить это, чтобы определить, есть ли другие причины, по которым проект установки не удалось построить. *

3 голосов
/ 24 мая 2012

Вышеописанный скрипт работал для меня, попробуйте его и дайте мне знать, если он работает для вас. Вы можете в значительной степени иметь любую конфигурацию. Я использовал Release | x86. Просто замените эту строку вашей конфигурацией, и она должна работать. Убедитесь, что используемая вами конфигурация существует в файле .sln или .csproj, в противном случае вы можете получить сообщение об ошибке о неправильной конфигурации. Надеюсь, это поможет.

<target name="BuildMsi">
    <echo message="Creating installables (.msi) for MyTestApplication, please wait..."/>    
    <exec program="c:\program files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe">
        <arg value="c:\My app\My_Test_solution.sln"/>
        <arg value="/build"/>
        <arg value="Release|x86" />
        <arg value="/project"/>
        <arg value="c:\My app\setup\My_Test_solution.vdproj"/>
    </exec>
</target>
1 голос
/ 15 апреля 2015

Мой случай был таким же, и присвоение имени проекта / project помогло в создании файла .msi,

devenv /build Release /project SDK-Deployment SDK-Deployment.vdproj
0 голосов
/ 19 апреля 2011

Я не думаю, что msi будет генерироваться с devenv.com, вы можете выбрать wix с nant для создания установщика.

У Nant есть задача msi, но для этого требуется micrsoft cabinet sdk, который недоступен для загрузки.

прочитайте это для более подробной информации Постройте модуль слияния без Devenv из .vdproj

p.s. Если вы найдете другой способ сборки установщика, пожалуйста, поделитесь.

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