public override async Task <int> Install() { var details = new ExecutableDetails { ExecutableName = "XNA Framework 4.0 Redist.msi" }; int result = await Install(details); if (result == 0) { details.ExecutableName = "XNA Game Studio Platform Tools.msi"; result = await Install(details); } if (result == 0) { details.ExecutableName = "XNA Game Studio Shared.msi"; result = await Install(details); } if (result == 0) { details.ExecutableName = "XNA Game Studio 4.0.vsix"; result = await Install(details); } return(result); }
public override async Task<int> Install() { const string ExecutableName = "DXSETUP.exe"; List<string> dependencies = new List<string>(); dependencies.Add("APR2007_d3dx9_33_x86.cab"); dependencies.Add("APR2007_xinput_x86.cab"); dependencies.Add("DSETUP.dll"); dependencies.Add("dsetup32.dll"); dependencies.Add("dxupdate.cab"); dependencies.Add("Feb2010_X3DAudio_x86.cab"); dependencies.Add("Feb2010_xact_x86.cab"); dependencies.Add("Feb2010_XAudio_x86.cab"); dependencies.Add("Mar2009_d3dx9_41_x86.cab"); var details = new ExecutableDetails { ExecutableName = ExecutableName, AdditionalFiles = dependencies }; var result = await Install(details); return result; }
public override async Task<int> Install() { var details = new ExecutableDetails { ExecutableName = "XNA Framework 4.0 Redist.msi" }; int result = await Install(details); if(result == 0) { details.ExecutableName = "XNA Game Studio Platform Tools.msi"; result = await Install(details); } if (result == 0) { details.ExecutableName = "XNA Game Studio Shared.msi"; result = await Install(details); } if (result == 0) { details.ExecutableName = "XNA Game Studio 4.0.vsix"; result = await Install(details); } return result; }
public override async Task <int> Install() { const string ExecutableName = "DXSETUP.exe"; List <string> dependencies = new List <string>(); dependencies.Add("APR2007_d3dx9_33_x86.cab"); dependencies.Add("APR2007_xinput_x86.cab"); dependencies.Add("DSETUP.dll"); dependencies.Add("dsetup32.dll"); dependencies.Add("dxupdate.cab"); dependencies.Add("Feb2010_X3DAudio_x86.cab"); dependencies.Add("Feb2010_xact_x86.cab"); dependencies.Add("Feb2010_XAudio_x86.cab"); dependencies.Add("Mar2009_d3dx9_41_x86.cab"); var details = new ExecutableDetails { ExecutableName = ExecutableName, AdditionalFiles = dependencies }; var result = await Install(details); return(result); }
protected async Task <int> Install(ExecutableDetails ed) { var exitCode = 0; if (ed.ExtraLogic != null) { ed.ExtraLogic(null); } var installerName = ed.ExecutableName; var currentAssembly = Assembly.GetExecutingAssembly(); // Get all imbedded resources var arrResources = currentAssembly.GetManifestResourceNames(); if (ed.AdditionalFiles != null) { foreach (string unprocessedFile in ed.AdditionalFiles) { var file = unprocessedFile.Replace("/", ".").Replace("\\", "."); foreach (string resourceName in arrResources) { if (resourceName.EndsWith("." + file)) { ExtractFileFromAssembly(currentAssembly, resourceName, file); break; } } } } foreach (string resourceName in arrResources) { if (resourceName.EndsWith("." + installerName)) { ExtractFileFromAssembly(currentAssembly, resourceName, installerName); exitCode = await RunProcessUntilFinished(installerName, ed.Parameters, ed.RunAsAdministrator); break; } } return(exitCode); }
protected async Task<int> Install(ExecutableDetails ed) { var exitCode = 0; if (ed.ExtraLogic != null) { ed.ExtraLogic(null); } var installerName = ed.ExecutableName; var currentAssembly = Assembly.GetExecutingAssembly(); // Get all imbedded resources var arrResources = currentAssembly.GetManifestResourceNames(); if (ed.AdditionalFiles != null) { foreach (string unprocessedFile in ed.AdditionalFiles) { var file = unprocessedFile.Replace("/", ".").Replace("\\", "."); foreach (string resourceName in arrResources) { if (resourceName.EndsWith("." + file)) { ExtractFileFromAssembly(currentAssembly, resourceName, file); break; } } } } foreach (string resourceName in arrResources) { if (resourceName.EndsWith("." + installerName)) { ExtractFileFromAssembly(currentAssembly, resourceName, installerName); exitCode = await RunProcessUntilFinished(installerName, ed.Parameters); break; } } return exitCode; }