Project DescriptionActive is a project to help developers create better deployment packages. It is based on Windows Workflow Foundation (similar to TFS Build) and allows deployment scripts to become one click instead of pages of documentation for someone else to follow. Requires .Net 4 Full.
See
Documentation for a few usage details.
WhyThe aim is not to produce a setup package like an msi, but rather to encapsulate the steps needed to deploy the different components of a (usually) business solution. How many times have you spent hours to produce detailed deployment instructions for someone else to follow, simply to have them miss a step and then have to spend hours to fix.
Instead, why not build the steps into a logical workflow - which would in most cases simply be sequential steps, and then have the documentation read "Press the 'Start' button". Active aims to make your life just that tad easier, and it does if you spend a bit of time upfront.
WhatThe project consists of 3 main binaries, a builder (workflow editor), the activities assembly and a workflow execution engine, all based on WF4. It's built specifically to easily add more activities (you just add a class basically, and away you go). You can also use active as a lightweight build engine if you don't have TFS/some other automated build engine - more on that later.
What tasks are currently available? This list grows as needed...
- CopyFolder (Copy folder and optionally exclude files)
- CreateEventLog (Create/Ensure existence of event log and source)
- CreateFolder
- CreateSimpleScheduledTask (Windows Task Scheduler)
- CreateSqlDbUser (Add SQL server login to database)
- CreateSqlLogin (Create SQL server windows/sql login)
- CreateUser (Create local/domain user account)
- EncryptConfigSection (Encrypt a section of the app/web.config file)
- ExecuteSqlNonQuery (Execute any SQL on a SQL Server instance that does not return data)
- ExecuteXaml (Allows partitioning and re-use of workflow parts)
- InvokeProcess (Invoke a command line process)
- MessageBox
- MSBuild (Only supports projects atm, not solutions)
- MSDeploy (Web Deploy) - Requires Web deploy to be installed on target machine
- ReadAppConnectionString (Read connection string from active.run.exe)
- ReadAppSetting (Read app setting from active.run.exe)
- ReadRegistryValue (Read a value from the registry)
- RunScheduledTask (Windows Task Scheduler)
- SetFolderPermissions
- SetServiceStartupMode
- SimpleSendMail
- StartService
- StopService
- UnZip
- Vsdbcmd (Database Project deploy) - Requires Vsdbcmd.exe to be available on execution machine
- WriteExceptionTrace (Writes a full trace of an exception to activity console)
- Zip (Add files/folders to create Zip archive)
That looks like PowerShell?You would indeed be doing similar things if you used PowerShell - more powerful but less user friendly. However, I've found that most developers would rather write documentation than try to write powershell scripts (yikes). The GUI builder that you can use on the deployment environments with only .NET 4 installed helps a lot. Plus it's quite simple to add tasks to do what you want it to.

Thanks goes to the developers of the following libs and components :