Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 9234977
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 18, 20262026-06-18T06:55:00+00:00 2026-06-18T06:55:00+00:00

I have a project in VS2010 that uses Web Setup projects for deployment. I’m

  • 0

I have a project in VS2010 that uses Web Setup projects for deployment. I’m now looking into migrating it to VS2012 and have to find a replacement setup routine.

The requirements I have:

  • One-step build to create a deploy package/installer on a dev machine.
  • Setup program/routine that can be run on the server – without Visual Studio available.
  • No direct interaction between Visual Studio and the server. I have to copy the setup files over through an RDP session.
  • Setup of web applications (MVC) and Windows Services, preferably bundled in one single installer (new requirement currently not solve din Web Setup project).
  • Possibility to run EF Migrations as part of setup (currently done through a custom action).

Where should I start? Should I look into the improved publishing features in VS2012? Should I look at Wix? Something else?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-18T06:55:01+00:00Added an answer on June 18, 2026 at 6:55 am

    Looking deeper into Visual Studio 2012 and trying to work with it the way it was intended, instead of against it, we ended up using web deploy packages. It doesn’t create an MSI file, but instead a zip file that can be easily imported into IIS on the target machine.

    The Windows service project was added as a reference to the web site project. That way the binaries for the service are included in the bin directory of the web site. The migrate.exe file from Entity framework was added as a link from the bin directory which means it is deployed too.

    Finally we added a project.wpp.targets file to the project that runs the required commands to install and start the service and to get the service’s config file included in the deploy. This worked for us, but is not really that elegant (e.g. the install paths of the site for different configurations is hard coded).

    The project.wpp.targets file:

    <?xml version="1.0" encoding="utf-8" ?>
    <!--
    *** WARNING ***
    This file is cached by visual studio and changes won't take effect until 
    visual studio is restarted. When editing this file, it is better to run the
    build step for packaging from the command line (a VS command prompt).
    There are some problems with dependencies not being correctly identified that
    way, but at least the archive.xml file can be verified from the command prompt.
    
    msbuild orderportal.csproj /t:package /p:Configuration=SysTest /p:DeployOnBuild=true;DeployTarget=Package
    -->
    
    <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
      <PropertyGroup>
        <IncludeRunMigrations>TRUE</IncludeRunMigrations>
        <AfterAddIisSettingAndFileContentsToSourceManifest Condition="'$(AfterAddIisSettingAndFileContentsToSourceManifest)'==''">
          $(AfterAddIisSettingAndFileContentsToSourceManifest);
          RunMigrations;
          ServiceInstall;
        </AfterAddIisSettingAndFileContentsToSourceManifest>
    
        <IncludeServiceInstall>TRUE</IncludeServiceInstall>
        <BeforeAddContentPathToSourceManifest Condition="'$(BeforeAddContentPathToSourceManifest)' == ''">
          $(BeforeAddContentPathToSourceManifest);
          ServiceUnInstall;
        </BeforeAddContentPathToSourceManifest>
    
        <DeploymentDir Condition="'$(Configuration)'=='SysTest' AND '$(DeploymentDir)'==''">c:\inetpub\wwwroot\SysTest\</DeploymentDir>
        <DeploymentDir Condition="'$(Configuration)'=='IntTest' AND '$(DeploymentDir)'==''">c:\inetpub\wwwroot\IntTest\</DeploymentDir>
        <DeploymentDir Condition="'$(Configuration)'=='Prod' AND '$(DeploymentDir)'==''">c:\inetpub\wwwroot\</DeploymentDir>
    
        <CopyAllFilesToSingleFolderForPackageDependsOn>
          IncludeServicesAppConfig;
          $(CopyAllFilesToSingleFolderForPackageDependsOn);
        </CopyAllFilesToSingleFolderForPackageDependsOn>
    
      </PropertyGroup>
      <Target Name="RunMigrations" Condition="'$(IncludeRunMigrations)' == 'TRUE'">
        <Message Text="Adding migration running"/>
        <ItemGroup>
          <MsDeploySourceManifest Include="runCommand">
            <path>$(DeploymentDir)bin\migrate.exe /startupdirectory:$(DeploymentDir)bin Topsi.Core.dll /startUpConfigurationFile:$(DeploymentDir)web.config</path>
            <waitAttempts>1</waitAttempts>
            <waitInterval>60000</waitInterval>
            <dontUseCommandExe>true</dontUseCommandExe>
            <AdditionalProviderSettings>waitInterval;waitAttempts;dontUseCommandExe</AdditionalProviderSettings>
          </MsDeploySourceManifest>
        </ItemGroup>
      </Target>
    
      <Target Name="ServiceUnInstall" Condition="'$(IncludeServiceInstall)' == 'TRUE'">
        <Message Text="Adding service uninstall" />
        <ItemGroup>
          <MsDeploySourceManifest Include="runCommand">
            <path>net stop "Topsi Schedule Service $(Configuration)"</path>
            <waitAttempts>1</waitAttempts>
            <waitInterval>60000</waitInterval>
            <dontUseCommandExe>true</dontUseCommandExe>
            <AdditionalProviderSettings>waitInterval;waitAttempts;dontUseCommandExe</AdditionalProviderSettings>
          </MsDeploySourceManifest>
          <MsDeploySourceManifest Include="runCommand">
            <path>C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil.exe /u $(DeploymentDir)bin\Topsi.Services.exe</path>
            <waitAttempts>1</waitAttempts>
            <waitInterval>60000</waitInterval>
            <dontUseCommandExe>true</dontUseCommandExe>
            <AdditionalProviderSettings>waitInterval;waitAttempts;dontUseCommandExe</AdditionalProviderSettings>
        </MsDeploySourceManifest>
        </ItemGroup>
      </Target>
      <Target Name="ServiceInstall" Condition="'$(IncludeServiceInstall)' == 'TRUE'">
        <Message Text="Adding service install"/>
        <ItemGroup>
          <MsDeploySourceManifest Include="runCommand">
            <path>C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil.exe $(DeploymentDir)bin\Topsi.Services.exe</path>
            <waitAttempts>1</waitAttempts>
            <waitInterval>60000</waitInterval>
            <dontUseCommandExe>true</dontUseCommandExe>
            <AdditionalProviderSettings>waitInterval;waitAttempts;dontUseCommandExe</AdditionalProviderSettings>
          </MsDeploySourceManifest>
          <MsDeploySourceManifest Include="runCommand">
            <path>net start "Topsi Schedule Service $(Configuration)"</path>
            <waitAttempts>1</waitAttempts>
            <waitInterval>60000</waitInterval>
            <dontUseCommandExe>true</dontUseCommandExe>
            <AdditionalProviderSettings>waitInterval;waitAttempts;dontUseCommandExe</AdditionalProviderSettings>
          </MsDeploySourceManifest>
        </ItemGroup>
      </Target>
      <Target Name="IncludeServicesAppConfig">
        <ItemGroup>
          <_CustomFiles Include="..\Services\bin\$(Configuration)\Topsi.Services.exe.config">
            <DestinationRelativePath>%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
          </_CustomFiles>
    
          <FilesForPackagingFromProject  Include="%(_CustomFiles.Identity)">
            <DestinationRelativePath>bin\%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
          </FilesForPackagingFromProject>
        </ItemGroup>
      </Target>
    </Project>
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have added an external .exe file into my VS2010 setup project and I'd
I have a VS2010 solution which uses its own projects (that are in that
I have a VS2010 solution that has two projects. The first project [DevLib] is
I have a ASP.NET MVC2 project in VS2010 that can be deployed in two
I develop on VS2010 WPF on Window 7. I have a project that does
I have inhherited a vs2010 c# web project (asp.net). It has a web reference
I have a project that uses an Access DB file for reference tables. This
we have an application that uses ODBC via CDatabase/CRecordset in MFC (VS2010). We have
My actual problem is that i have made git repository in my VS2010 project
I have a MVC3 Web Application project that I develop and publish from Visual

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.