public ProgressFileDownloader(IDev2WebClient webClient, IFile file, ICryptoProvider cryptoProvider)
{
VerifyArgument.IsNotNull("webClient", webClient);
VerifyArgument.IsNotNull("file", file);
VerifyArgument.IsNotNull("cryptoProvider", cryptoProvider);
_webClient = webClient;
ProgressDialog = GetProgressDialogViewModel(_owner, Cancel);
_file = file;
_cryptoProvider = cryptoProvider;
_webClient.DownloadProgressChanged += OnDownloadProgressChanged;
_dontStartUpdate = false;
ShutDownAction = ShutdownAndInstall;
if (!Directory.Exists("Installers"))
Directory.CreateDirectory("Installers");
}