Search code examples
jenkinscommand-linevisual-studio-2017devenvvdproj

Running vs2017 DevEnv from command line with VS2017 Installer Projects


I have inherited a bunch of VS2010 (argh!) installer projects (.vdproj) that install some Win Services

Ofcourse in VS2017 those don't exist anymore but the extension 'VS2017 Installer Projects' works great. I can just open them fine and build, which produces the msi files.

However this needs to be done on the Jenkins machine (running Windows 7) as well. So I installed VS2017 on the Jenkins machine with the Project Installer extension and tried to first run the project from the IDE. Works great. Produces the .msi without problem.

Then I tried to run it from a command line:

"C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\devenv.exe" 
D:\ServiceInstaller\xxxServiceInstaller.vdproj /build

And it does NOT produce anything. Am I trying to do something that is not possible?

There are all kinds of long term solutions of course such as TopShelf, AdvancedInstaller, WIX etc with nice Jenkins plugins but for now it would be nice if I could make this work.


Solution

  • I've made following batch file to call with solution file parameter:

    CALL "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\Tools\VsDevCmd.bat"
    "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\CommonExtensions\Microsoft\VSI\DisableOutOfProcBuild\DisableOutOfProcBuild.exe"
    devenv /rebuild "Release|Win32" %1
    

    Also make sure that in Visual Studio Configuration Manager Setup build is enabled.