Re: Visual Studio stand alone (not installed) on build server.

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance



On Oct 19, 1:51 pm, fcl <fredrik.claes...@xxxxxxxxx> wrote:
I work in a team where we develop applications using Visual Studio
2005 SP1. I have set up a one click build process by scripting devenv
and is thus using vcproj/sln files instead of makefiles. My solution
consists of a mix of unmanaged C++, C++/CLI and C# projects which
depend on each other.

My problem is that on my build server I would like to maintain full
control of the build environment. This is done by avoiding installing
applications on the build server but rather putting the under version
control and check them out/copy them (either using Subversion or
XCOPY) from a server. Most tools needed for building my application
can be treated this way (examples are doxygen, HTML Help compiler,
dot, python, unixtools etc.). By not having installed many
applications on the build server I can recreate the build environment
by just running a script which copies the necessary files.

Visual Studio is the exception. I have not been able to figure out if
I could do this type of XCOPY install of the compiler tools. I have an
MSDN Professional license so I do not think licensing should be a
problem to do this if I knew how.

I have been able to figure out the following:

1. C# projects can be build using msbuild which only requires the .Net
framework to be installed on the computer.
2. There is a Windows SDK which contains the headers and libraries. I
have not found all tools in there though (cl.exe for instance).
3. There is supposadly a tool call vcbuild.exe which can build a
vcproj without having VS2005 installed on the computer.

Has anyone had success in creating a build environment without
actually installing VS2005?

The problem, in so far as I am aware, is the the compilers, etc. and
Visual Studios in general use a lot of Registry settings.
Someone from the VS dev team may correct me on the lower level tools
(e.g. cl, etc.).

However, what you are looking for is generally not an issue with
compilers.

Personally, I have a script that does the following:

1) Looks for the installation of VS (VS6, 2003, 2008) in the registry
2) Calls each versions vsvars32.bat (or equiv) to set up the
environment
3) Knows how to remove the changes from the environment

#3 was the hard part - as I had to keep running the script to (i)
setup, and then (ii) tear down the environment until I got a clean
environment again.
I also had to track a couple environment variables (e.g. PATH) as
separate environments variables temporarily to be able to get back to
the original values,
and also had to make a new environment variable for tracking which
compiler I switched to.

I would recommend you do something similar. It'll take a couple hours
to put together what you need in batch scripts. (WSH and Powershell
scripts just won't quite do for this.)

Aside from hard drive space to be able to install all the compilers,
this is not an issue.

If you're lacking hard drive space then you have other issues.

Ultimately, you may want to look at Virtual Machines though; but
really installing each tool would be a pain. And VS doesn't uninstall
all that cleanly either (at least historically).

HTH,

Ben
.



Relevant Pages

  • Re: Some personal linux observations
    ... One of my big bitches about the M$ environment is that the command line ... but open source developers are usually more interested in expressing ... installing software from sourcecode. ...
    (alt.os.linux)
  • Re: Possible to define a variable for only certain directories?
    ... allows such customizations upon the environment on a per- ... this is useful only if the user or script ... configuration files, environment variables, command line options, and ... commands to the CDE Window Manager from a shell ...
    (comp.unix.shell)
  • RE: local admin account password
    ... environment, yes we may have these, but we still use the same methods. ... With regards to the script, this script is actually run from a secured ... The local passwords are secured both in a secure password ...
    (Focus-Microsoft)
  • Re: Script for your enjoyment
    ... Another environment specific aspect. ... I do not maintain any databases ... The script should do that for you. ... isn't anyone checking if a domain group exists before they add it". ...
    (microsoft.public.scripting.wsh)
  • RE: How can I get the logon script to be executed while having a custo
    ... I'm working on a replacement of msgina dll. ... I have also a lot of trouble to set environment vars like ... > requires the replacement of GINA by our own customized version, ... This login script is set by the system administrator at the ...
    (microsoft.public.win32.programmer.kernel)