Blame | Last modification | View Log | RSS feed
// AutoUpdater.cpp : main project file.#include "stdafx.h"#include "Forms/Form1.h"using namespace AutoUpdater;[STAThreadAttribute]int main(array<System::String ^> ^args){// Enabling Windows XP visual effects before any controls are createdApplication::EnableVisualStyles();Application::SetCompatibleTextRenderingDefault(false);if ( args->Length < 1 ){MessageBox::Show("Invalid Arguments, Missing filename", "Auto Updater", MessageBoxButtons::OK, MessageBoxIcon::Stop);return 1;}System::String ^downloadFile = args[0];while ( downloadFile->EndsWith("\r") )downloadFile = downloadFile->Substring(0, downloadFile->Length - 1);System::String ^runFile;if ( args->Length > 1 )runFile = args[1];// Create the main window and run itbool updated = true;if ( downloadFile->Contains("|") ){System::String ^file;int pos = 0;while ( pos < downloadFile->Length ){int start = pos;pos = downloadFile->IndexOf("|", pos);if ( pos == -1 )file = downloadFile->Substring(start);elsefile = downloadFile->Substring(start, pos - start);int checkPos = file->IndexOf('\r');while ( checkPos != -1 ){file = file->Remove(checkPos, 1);checkPos = file->IndexOf('\r', checkPos);}Form1 ^f = gcnew Form1(file);Application::Run(f);if ( !f->IsUpdated() )updated = false;if ( pos == -1 )break;pos++;}}else{updated = false;Form1 ^f = gcnew Form1(downloadFile);Application::Run(f);if ( f->IsUpdated() )updated = true;}if ( updated )MessageBox::Show("Plugin Manager has now been updated", "Auto Updater", MessageBoxButtons::OK, MessageBoxIcon::Exclamation);if ( runFile ){System::Diagnostics::ProcessStartInfo ^info = gcnew System::Diagnostics::ProcessStartInfo(runFile);info->WorkingDirectory = System::IO::FileInfo(runFile).DirectoryName;info->UseShellExecute = false;info->WindowStyle = System::Diagnostics::ProcessWindowStyle::Normal;System::Diagnostics::Process ^process = System::Diagnostics::Process::Start(info);}return 0;}