Skip to content
Deploying Azure Cloudservices including a diagnostics extension, without using Visual Studio or Powershell.
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.


Type Name Latest commit message Commit time
Failed to load latest commit information.
MsCommon.ClickOnce @ cf72308


Deploying Azure Cloudservices including a diagnostics extension, without using Visual Studio or Powershell.

Used to streamline deployments within ICT (


Binaries are available via a ClickOnce deployment on the following URL:



Main features

  • Deploy cloudservices using their .cspkg and .cscfg files
  • Enable PaaS diagnostics based upon PubConfig.xml files (public part of the diagnostics.wadcfgx), and extract diagnostics storage account from .cscfg (or select manually)
  • Automatically generate a semi-useful label
  • Deploy using different strategies:
    • Upgrade respecting domains (or create if no deployment exists)
    • Upgrade all domains at once (or create if no deployment exists)
    • Delete/create deployment
    • Delete/create deployment, but keep in stopped state
  • Download existing package for a cloudservice, including PaaSDiagnostics PubConfig if enabled for that cloudservice
  • Automatically remove unused extensions still registered for that cloudservice
  • Save and load presets in JSON format with a MRU list
  • Multiple tabs/deployments simultaneously
  • Extract label from cspkg on supported format

Extract version from .cspkg

As employee of ICT there is some special support for the way we include versioning information in our builds and thus end up in the cspkg files. When the labels [ICTBUILDDATE], [ICTBUILDNUMBER] or [ICTENVIRONMENT] are being used, the cspkg is scanned for a "versie.htm" or "version.htm" file with a certain format. If found, the tags are replaced with the proper values from that file. An example of this file:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  <style>body, table, tr, td
        <td>build number</td>
        <td>: $/Customer/Product/Dev/Branchname@12345</td>
        <td>: 2016-06-13 03:21:22.954</td>
        <td>: WA-P</td>

NOTE: Technically it just scans for <td> tags and takes the content of the 2nd, 4th and 6th one it finds and trims spaces, tabs, newlines and the colon.


See changes.txt in the source code, or Help => Changelog within the application.


Martijn Stolk (


Creative Commons Attribution 3.0 Unported (CC BY 3.0)

You can’t perform that action at this time.