From 1791c28ddb26f8e758d46fd64b63463f260decb2 Mon Sep 17 00:00:00 2001 From: Zemogiter Date: Wed, 1 May 2019 11:48:14 +0200 Subject: [PATCH 1/9] Add files via upload --- Engines/Wine/Verbs/atmlib/script.js | 50 +++++++++++++++++++++++++++ Engines/Wine/Verbs/atmlib/script.json | 11 ++++++ 2 files changed, 61 insertions(+) create mode 100644 Engines/Wine/Verbs/atmlib/script.js create mode 100644 Engines/Wine/Verbs/atmlib/script.json diff --git a/Engines/Wine/Verbs/atmlib/script.js b/Engines/Wine/Verbs/atmlib/script.js new file mode 100644 index 0000000000..8b8070d03c --- /dev/null +++ b/Engines/Wine/Verbs/atmlib/script.js @@ -0,0 +1,50 @@ +include("engines.wine.engine.object"); +include("utils.functions.net.resource"); +include("utils.functions.filesystem.files"); + +/** +* Verb to install atmlib +* @returns {Wine} Wine object +*/ +Wine.prototype.atmlib = function () { + var setupFile = new Resource() + .wizard(this.wizard()) + .url("https://ftp.gnome.org/mirror/archive/ftp.sunet.se/pub/security/vendor/microsoft/win2000/Service_Packs/usa/W2KSP4_EN.EXE") + .checksum("fadea6d94a014b039839fecc6e6a11c20afa4fa8") + .name("W2ksp4_EN.exe") + .get(); + + new CabExtract() + .archive(setupFile) + .wizard(this.wizard()) + .to(this.system32directory()) + .extract(); + + new CabExtract() + .archive(this.system32directory() + "/i386/atmlib.dl_") + .wizard(this.wizard()) + .to(this.system32directory()) + .extract(); + + remove(this.system32directory() + "/i386/"); + + return this; +}; + +/** + * Verb to install atmlib +*/ +var verbImplementation = { + install: function (container) { + var wine = new Wine(); + wine.prefix(container); + var wizard = SetupWizard(InstallationType.VERBS, "atmlib", java.util.Optional.empty()); + wine.wizard(wizard); + wine.atmlib(); + wizard.close(); + } +}; + +/* exported Verb */ +var Verb = Java.extend(org.phoenicis.engines.Verb, verbImplementation); + diff --git a/Engines/Wine/Verbs/atmlib/script.json b/Engines/Wine/Verbs/atmlib/script.json new file mode 100644 index 0000000000..70cc4b033e --- /dev/null +++ b/Engines/Wine/Verbs/atmlib/script.json @@ -0,0 +1,11 @@ +{ + "scriptName" : "atmlib", + "id" : "engines.wine.verbs.atmlib", + "compatibleOperatingSystems" : [ + "MACOSX", + "LINUX" + ], + "testingOperatingSystems" : [], + "free" : true, + "requiresPatch" : false +} From cd88682837b6dd01bc25ca5422e5f9c1702caded Mon Sep 17 00:00:00 2001 From: Zemogiter Date: Mon, 13 May 2019 14:23:19 +0200 Subject: [PATCH 2/9] Add files via upload --- Engines/Wine/Verbs/dotnet20sp2/script.js | 76 ++++++++++++++++++++++ Engines/Wine/Verbs/dotnet20sp2/script.json | 11 ++++ 2 files changed, 87 insertions(+) create mode 100644 Engines/Wine/Verbs/dotnet20sp2/script.js create mode 100644 Engines/Wine/Verbs/dotnet20sp2/script.json diff --git a/Engines/Wine/Verbs/dotnet20sp2/script.js b/Engines/Wine/Verbs/dotnet20sp2/script.js new file mode 100644 index 0000000000..7d6fc42dd4 --- /dev/null +++ b/Engines/Wine/Verbs/dotnet20sp2/script.js @@ -0,0 +1,76 @@ +include("engines.wine.engine.object"); +include("engines.wine.plugins.override_dll"); +include("utils.functions.net.resource"); +include("utils.functions.filesystem.files"); +include("engines.wine.plugins.windows_version"); +include("engines.wine.verbs.remove_mono"); + + +/** +* Verb to install .NET 2.0 SP2 +* @returns {Wine} Wine object +*/ +Wine.prototype.dotnet20sp2 = function () { + var osVersion = this.windowsVersion(); + this.windowsVersion("winxp"); + var dlls = [ + "ngen.exe", + "regsvcs.exe", + "mscorsvw.exe"]; + this.overrideDLL() + .set("builtin", dlls) + .do(); + + if (this.architecture() == "x86") { + + var setupFile32 = new Resource() + .wizard(this.wizard()) + .url("https://download.microsoft.com/download/c/6/e/c6e88215-0178-4c6c-b5f3-158ff77b1f38/NetFx20SP2_x86.exe") + .checksum("22d776d4d204863105a5db99e8b8888be23c61a7") + .name("NetFx20SP2_x86.exe") + .get(); + + this.removeMono(); + + this.wizard().wait(tr("Please wait while {0} is installed...", ".NET Framework 2.0 SP2")); + this.run(setupFile32, ["/q:a", "/c:install.exe /q"], null, false, true); + + + remove(this.system32directory() + "/msvcr80.dll"); + remove(this.system32directory() + "/msvcm80.dll"); + remove(this.system32directory() + "/msvcp80.dll"); + } + else { + var setupFile64 = new Resource() + .wizard(this.wizard()) + .url("https://download.microsoft.com/download/c/6/e/c6e88215-0178-4c6c-b5f3-158ff77b1f38/NetFx20SP2_x64.exe") + .checksum("a7cc6c6e5a4ad9cdf3df16a7d277eb09fec429b7") + .name("NetFx20SP2_x64.exe") + .get(); + + this.removeMono(); + + this.wizard().wait(tr("Please wait while {0} is installed...", ".NET Framework 2.0 SP2")); + this.run(setupFile64, ["/q:a", "/c:install.exe /q"], null, false, true) + } + + this.windowsVersion(osVersion); + + return this; +}; +/** + * Verb to install dotnet20sp2 +*/ +var verbImplementation = { + install: function (container) { + var wine = new Wine(); + wine.prefix(container); + var wizard = SetupWizard(InstallationType.VERBS, "dotnet20sp2", java.util.Optional.empty()); + wine.wizard(wizard); + wine.dotnet20sp2(); + wizard.close(); + } +}; + +/* exported Verb */ +var Verb = Java.extend(org.phoenicis.engines.Verb, verbImplementation); diff --git a/Engines/Wine/Verbs/dotnet20sp2/script.json b/Engines/Wine/Verbs/dotnet20sp2/script.json new file mode 100644 index 0000000000..3591c3ddba --- /dev/null +++ b/Engines/Wine/Verbs/dotnet20sp2/script.json @@ -0,0 +1,11 @@ +{ + "scriptName" : ".NET 2.0 SP2", + "id" : "engines.wine.verbs.dotnet20sp2", + "compatibleOperatingSystems" : [ + "MACOSX", + "LINUX" + ], + "testingOperatingSystems" : [], + "free" : true, + "requiresPatch" : false +} From 456d3140642ffcb1e5da8b5e57277983da2bd05a Mon Sep 17 00:00:00 2001 From: Zemogiter Date: Mon, 13 May 2019 14:25:11 +0200 Subject: [PATCH 3/9] Delete script.js --- Engines/Wine/Verbs/atmlib/script.js | 50 ----------------------------- 1 file changed, 50 deletions(-) delete mode 100644 Engines/Wine/Verbs/atmlib/script.js diff --git a/Engines/Wine/Verbs/atmlib/script.js b/Engines/Wine/Verbs/atmlib/script.js deleted file mode 100644 index 8b8070d03c..0000000000 --- a/Engines/Wine/Verbs/atmlib/script.js +++ /dev/null @@ -1,50 +0,0 @@ -include("engines.wine.engine.object"); -include("utils.functions.net.resource"); -include("utils.functions.filesystem.files"); - -/** -* Verb to install atmlib -* @returns {Wine} Wine object -*/ -Wine.prototype.atmlib = function () { - var setupFile = new Resource() - .wizard(this.wizard()) - .url("https://ftp.gnome.org/mirror/archive/ftp.sunet.se/pub/security/vendor/microsoft/win2000/Service_Packs/usa/W2KSP4_EN.EXE") - .checksum("fadea6d94a014b039839fecc6e6a11c20afa4fa8") - .name("W2ksp4_EN.exe") - .get(); - - new CabExtract() - .archive(setupFile) - .wizard(this.wizard()) - .to(this.system32directory()) - .extract(); - - new CabExtract() - .archive(this.system32directory() + "/i386/atmlib.dl_") - .wizard(this.wizard()) - .to(this.system32directory()) - .extract(); - - remove(this.system32directory() + "/i386/"); - - return this; -}; - -/** - * Verb to install atmlib -*/ -var verbImplementation = { - install: function (container) { - var wine = new Wine(); - wine.prefix(container); - var wizard = SetupWizard(InstallationType.VERBS, "atmlib", java.util.Optional.empty()); - wine.wizard(wizard); - wine.atmlib(); - wizard.close(); - } -}; - -/* exported Verb */ -var Verb = Java.extend(org.phoenicis.engines.Verb, verbImplementation); - From 6da5f407d2abc66ba70701f0125c66087d7d6c55 Mon Sep 17 00:00:00 2001 From: Zemogiter Date: Mon, 13 May 2019 14:25:21 +0200 Subject: [PATCH 4/9] Delete script.json --- Engines/Wine/Verbs/atmlib/script.json | 11 ----------- 1 file changed, 11 deletions(-) delete mode 100644 Engines/Wine/Verbs/atmlib/script.json diff --git a/Engines/Wine/Verbs/atmlib/script.json b/Engines/Wine/Verbs/atmlib/script.json deleted file mode 100644 index 70cc4b033e..0000000000 --- a/Engines/Wine/Verbs/atmlib/script.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "scriptName" : "atmlib", - "id" : "engines.wine.verbs.atmlib", - "compatibleOperatingSystems" : [ - "MACOSX", - "LINUX" - ], - "testingOperatingSystems" : [], - "free" : true, - "requiresPatch" : false -} From 48a93b575cc3c1f36de142136cbc92ea82209e55 Mon Sep 17 00:00:00 2001 From: Zemogiter Date: Mon, 13 May 2019 17:03:33 +0200 Subject: [PATCH 5/9] Update script.js Removing the dll overrides at the end of installation. --- Engines/Wine/Verbs/dotnet20sp2/script.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Engines/Wine/Verbs/dotnet20sp2/script.js b/Engines/Wine/Verbs/dotnet20sp2/script.js index 7d6fc42dd4..ac310dbc05 100644 --- a/Engines/Wine/Verbs/dotnet20sp2/script.js +++ b/Engines/Wine/Verbs/dotnet20sp2/script.js @@ -55,6 +55,9 @@ Wine.prototype.dotnet20sp2 = function () { } this.windowsVersion(osVersion); + this.overrideDLL() + .set("", dlls) + .do(); return this; }; From 5fcfd07e8d578788f0b941502c1d7d1820c5156b Mon Sep 17 00:00:00 2001 From: Zemogiter Date: Mon, 13 May 2019 17:19:52 +0200 Subject: [PATCH 6/9] Update script.js Changed the method of override removal. --- Engines/Wine/Verbs/dotnet20sp2/script.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Engines/Wine/Verbs/dotnet20sp2/script.js b/Engines/Wine/Verbs/dotnet20sp2/script.js index ac310dbc05..12128c2b73 100644 --- a/Engines/Wine/Verbs/dotnet20sp2/script.js +++ b/Engines/Wine/Verbs/dotnet20sp2/script.js @@ -4,6 +4,8 @@ include("utils.functions.net.resource"); include("utils.functions.filesystem.files"); include("engines.wine.plugins.windows_version"); include("engines.wine.verbs.remove_mono"); +include("engines.wine.plugins.regedit"); + /** @@ -55,10 +57,9 @@ Wine.prototype.dotnet20sp2 = function () { } this.windowsVersion(osVersion); - this.overrideDLL() - .set("", dlls) - .do(); - + this.regedit().deleteValue("HKCU\\Software\\Wine\\DllOverrides", "ngen.exe"); + this.regedit().deleteValue("HKCU\\Software\\Wine\\DllOverrides", "regsvcs.exe"); + this.regedit().deleteValue("HKCU\\Software\\Wine\\DllOverrides", "mscorsvw.exe"); return this; }; /** From dbb19c59d996a574286d1bc96e58ee8b5c8db443 Mon Sep 17 00:00:00 2001 From: Zemogiter Date: Mon, 13 May 2019 17:25:09 +0200 Subject: [PATCH 7/9] Update script.js Using removeMono only once like in winetricks. --- Engines/Wine/Verbs/dotnet20sp2/script.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Engines/Wine/Verbs/dotnet20sp2/script.js b/Engines/Wine/Verbs/dotnet20sp2/script.js index 12128c2b73..1a70f753a3 100644 --- a/Engines/Wine/Verbs/dotnet20sp2/script.js +++ b/Engines/Wine/Verbs/dotnet20sp2/script.js @@ -22,6 +22,7 @@ Wine.prototype.dotnet20sp2 = function () { this.overrideDLL() .set("builtin", dlls) .do(); + this.removeMono(); if (this.architecture() == "x86") { @@ -32,7 +33,6 @@ Wine.prototype.dotnet20sp2 = function () { .name("NetFx20SP2_x86.exe") .get(); - this.removeMono(); this.wizard().wait(tr("Please wait while {0} is installed...", ".NET Framework 2.0 SP2")); this.run(setupFile32, ["/q:a", "/c:install.exe /q"], null, false, true); @@ -50,7 +50,6 @@ Wine.prototype.dotnet20sp2 = function () { .name("NetFx20SP2_x64.exe") .get(); - this.removeMono(); this.wizard().wait(tr("Please wait while {0} is installed...", ".NET Framework 2.0 SP2")); this.run(setupFile64, ["/q:a", "/c:install.exe /q"], null, false, true) From 9123517e4c66d0d635c7ca2b9c06ae5a1fcfc567 Mon Sep 17 00:00:00 2001 From: Zemogiter Date: Mon, 13 May 2019 17:47:38 +0200 Subject: [PATCH 8/9] Update script.js --- Engines/Wine/Verbs/dotnet20sp2/script.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Engines/Wine/Verbs/dotnet20sp2/script.js b/Engines/Wine/Verbs/dotnet20sp2/script.js index 1a70f753a3..d26087f96f 100644 --- a/Engines/Wine/Verbs/dotnet20sp2/script.js +++ b/Engines/Wine/Verbs/dotnet20sp2/script.js @@ -35,7 +35,7 @@ Wine.prototype.dotnet20sp2 = function () { this.wizard().wait(tr("Please wait while {0} is installed...", ".NET Framework 2.0 SP2")); - this.run(setupFile32, ["/q:a", "/c:install.exe /q"], null, false, true); + this.run(setupFile32, ["--unattended", "/c:install.exe /q"], null, false, true); remove(this.system32directory() + "/msvcr80.dll"); @@ -52,7 +52,7 @@ Wine.prototype.dotnet20sp2 = function () { this.wizard().wait(tr("Please wait while {0} is installed...", ".NET Framework 2.0 SP2")); - this.run(setupFile64, ["/q:a", "/c:install.exe /q"], null, false, true) + this.run(setupFile64, ["--unattended", "/c:install.exe /q"], null, false, true) } this.windowsVersion(osVersion); From 7450a99ff6b9f08d887a747bea8679f003c7779e Mon Sep 17 00:00:00 2001 From: Zemogiter Date: Wed, 15 May 2019 10:46:40 +0200 Subject: [PATCH 9/9] Update script.js --- Engines/Wine/Verbs/dotnet20sp2/script.js | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/Engines/Wine/Verbs/dotnet20sp2/script.js b/Engines/Wine/Verbs/dotnet20sp2/script.js index d26087f96f..4030676965 100644 --- a/Engines/Wine/Verbs/dotnet20sp2/script.js +++ b/Engines/Wine/Verbs/dotnet20sp2/script.js @@ -35,7 +35,7 @@ Wine.prototype.dotnet20sp2 = function () { this.wizard().wait(tr("Please wait while {0} is installed...", ".NET Framework 2.0 SP2")); - this.run(setupFile32, ["--unattended", "/c:install.exe /q"], null, false, true); + this.run(setupFile32, [setupFile32, "/q", "/c:\"install.exe /q\""], null, false, true); remove(this.system32directory() + "/msvcr80.dll"); @@ -52,13 +52,12 @@ Wine.prototype.dotnet20sp2 = function () { this.wizard().wait(tr("Please wait while {0} is installed...", ".NET Framework 2.0 SP2")); - this.run(setupFile64, ["--unattended", "/c:install.exe /q"], null, false, true) + this.run(setupFile64, [setupFile64, "/q", "/c:\"install.exe /q\""], null, false, true); } - this.windowsVersion(osVersion); - this.regedit().deleteValue("HKCU\\Software\\Wine\\DllOverrides", "ngen.exe"); - this.regedit().deleteValue("HKCU\\Software\\Wine\\DllOverrides", "regsvcs.exe"); - this.regedit().deleteValue("HKCU\\Software\\Wine\\DllOverrides", "mscorsvw.exe"); + this.regedit().deleteValue("HKCU\\Software\\Wine\\DllOverrides", "*ngen.exe"); + this.regedit().deleteValue("HKCU\\Software\\Wine\\DllOverrides", "*regsvcs.exe"); + this.regedit().deleteValue("HKCU\\Software\\Wine\\DllOverrides", "*mscorsvw.exe"); return this; }; /**