Skip to content

Instantly share code, notes, and snippets.

@jkriddle
Created September 5, 2012 20:02
Show Gist options
  • Save jkriddle/3643662 to your computer and use it in GitHub Desktop.
Save jkriddle/3643662 to your computer and use it in GitHub Desktop.
Backup a set of site files using MSDeploy
var keyName = @"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\IIS Extensions\MSDeploy\2";
const string valueName = "InstallPath";
var kVal = Registry.GetValue(keyName, valueName, "").ToString();
if (string.IsNullOrEmpty(kVal))
{
keyName = @"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\IIS Extensions\MSDeploy\1";
kVal = Registry.GetValue(keyName, valueName, "").ToString();
}
if (string.IsNullOrEmpty(kVal)) return;
var targetName = Environment.MachineName;
var commandText = "\"" +
kVal + "msdeploy.exe \" -verb:sync -source:webServer,computerName=" + targetName +
" -dest:package='defaultWebsiteBackup.zip',encryptPassword=password123";
var sw = new StreamWriter("Log.txt",false);
sw.WriteLine(commandText);
sw.Flush();
sw.Close();
var process = new System.Diagnostics.Process();
var startInfo = new System.Diagnostics.ProcessStartInfo
{
WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden,
FileName = "cmd.exe",
Arguments = commandText
};
process.StartInfo = startInfo;
process.Start();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment