58 lines
1.6 KiB
JavaScript
58 lines
1.6 KiB
JavaScript
var WshShell = new ActiveXObject("WScript.Shell")
|
|
|
|
function ExecAndWait(cmd) {
|
|
var oExec = WshShell.Exec(cmd);
|
|
while (oExec.Status == 0)
|
|
{
|
|
WScript.Sleep(100);
|
|
}
|
|
if (oExec.ExitCode != 0) {
|
|
WScript.echo("Error: " + oExec.ExitCode);
|
|
}
|
|
}
|
|
|
|
var fso = new ActiveXObject("Scripting.FileSystemObject")
|
|
var ForReading = 1;
|
|
var stm = fso.OpenTextFile("makefile8",ForReading);
|
|
var makefile = stm.ReadAll();
|
|
stm.Close();
|
|
|
|
var lines = makefile.split("\n");
|
|
var target = null;
|
|
var commands = new Array();
|
|
var comments = new Array();
|
|
var count = 0;
|
|
|
|
for (l = 0; l < lines.length; l++) {
|
|
var line = lines[l];
|
|
try {
|
|
var i = line.indexOf(":");
|
|
if (i >= 0) {
|
|
target = line.substr(0,i);
|
|
assem = null;
|
|
assemblyNameLength = target.indexOf(".dll");
|
|
if (assemblyNameLength > -1) {
|
|
assem = target.substr(0,assemblyNameLength);
|
|
}
|
|
continue;
|
|
}
|
|
|
|
if (line.indexOf("GacInstall")>=0 || line.indexOf("GacRegInstall")>=0) {
|
|
comments[count] = "Ungacing " + assem;
|
|
commands[count++] = "gacutil /silent /nologo /u "+assem;
|
|
}
|
|
|
|
if (line.indexOf("RegInstall")>=0 || line.indexOf("GacRegInstall")>=0) {
|
|
comments[count] = "Unregistering " + target;
|
|
commands[count++] = "regasm /nologo /u "+target;
|
|
}
|
|
} catch (e) {
|
|
WScript.echo("error: " + e.description);
|
|
}
|
|
}
|
|
|
|
// uninstall in reverse order
|
|
for (i = count-1; i >= 0; i--) {
|
|
WScript.echo(comments[i]);
|
|
ExecAndWait(commands[i]);
|
|
} |