diff --git a/Engines/Wine/Verbs/Remove Mono/script.js b/Engines/Wine/Verbs/Remove Mono/script.js new file mode 100644 index 0000000000..24831f0c74 --- /dev/null +++ b/Engines/Wine/Verbs/Remove Mono/script.js @@ -0,0 +1,46 @@ +include("engines.wine.engine.object"); +include("utils.functions.filesystem.files"); +include("engines.wine.plugins.regedit"); + +/** +* Verb to remove mono +* @returns {Wine} Wine object +*/ +Wine.prototype.removeMono = function () { + if (this.uninstall("Mono")) + { + this.wizard().wait(tr("Please wait...")); + this.regedit().deleteKey("HKLM\\Software\\Microsoft\\.NETFramework\\v2.0.50727\\SBSDisabled"); + + this.wizard().wait(tr("Please wait...")); + this.regedit().deleteKey("HKLM\\Software\\Microsoft\\NET Framework Setup\\NDP\\v3.5"); + + this.wizard().wait(tr("Please wait...")); + this.regedit().deleteKey("HKLM\\Software\\Microsoft\\NET Framework Setup\\NDP\\v4"); + + remove(this.system32directory() + "/mscoree.dll"); + if (this.architecture() == "amd64") + { + remove(this.system64directory() + "/mscoree.dll"); + } + } + + return this; +}; + +/** + * Verb to remove mono +*/ +var verbImplementation = { + install: function (container) { + var wine = new Wine(); + wine.prefix(container); + var wizard = SetupWizard(InstallationType.VERBS, "remove_mono", java.util.Optional.empty()); + wine.wizard(wizard); + wine.removeMono(); + wizard.close(); + } +}; + +/* exported Verb */ +var Verb = Java.extend(org.phoenicis.engines.Verb, verbImplementation); diff --git a/Engines/Wine/Verbs/Remove Mono/script.json b/Engines/Wine/Verbs/Remove Mono/script.json new file mode 100644 index 0000000000..a5e1884b15 --- /dev/null +++ b/Engines/Wine/Verbs/Remove Mono/script.json @@ -0,0 +1,11 @@ +{ + "scriptName" : "Remove Mono", + "id" : "engines.wine.verbs.remove_mono", + "compatibleOperatingSystems" : [ + "MACOSX", + "LINUX" + ], + "testingOperatingSystems" : [], + "free" : true, + "requiresPatch" : false +} diff --git a/Engines/Wine/Verbs/dotnet20/script.js b/Engines/Wine/Verbs/dotnet20/script.js index 98406175d7..504f98c081 100644 --- a/Engines/Wine/Verbs/dotnet20/script.js +++ b/Engines/Wine/Verbs/dotnet20/script.js @@ -1,43 +1,56 @@ include("engines.wine.engine.object"); include("engines.wine.plugins.override_dll"); include("utils.functions.net.resource"); -include("engines.wine.verbs.luna"); include("utils.functions.filesystem.files"); include("engines.wine.plugins.windows_version"); +include("engines.wine.verbs.remove_mono"); + /** * Verb to install .NET 2.0 * @returns {Wine} Wine object */ Wine.prototype.dotnet20 = function () { + var osVersion = this.windowsVersion(); + if (this.architecture() == "x86") { this.windowsVersion("win2k"); - var setupFile = new Resource() + + var setupFile32 = new Resource() .wizard(this.wizard()) .url("https://download.lenovo.com/ibmdl/pub/pc/pccbbs/thinkvantage_en/dotnetfx.exe") .checksum("a3625c59d7a2995fb60877b5f5324892a1693b2a") .name("dotnetfx.exe") .get(); - this.uninstall("Mono"); - remove(this.system32directory() + "/mscoree.dll"); + + this.removeMono(); + this.wizard().wait(tr("Please wait while {0} is installed...", ".NET Framework 2.0")); - this.run(setupFile, ["/q:a", "/c:install.exe /q"], null, false, true); - this.windowsVersion("win7"); + this.run(setupFile32, ["/q:a", "/c:install.exe /q"], null, false, true); + + this.windowsVersion(osVersion); + remove(this.system32directory() + "/msvcr80.dll"); remove(this.system32directory() + "/msvcm80.dll"); remove(this.system32directory() + "/msvcp80.dll"); } else { - var setupFile = new Resource() + var setupFile64 = new Resource() .wizard(this.wizard()) .url("https://download.microsoft.com/download/a/3/f/a3f1bf98-18f3-4036-9b68-8e6de530ce0a/NetFx64.exe") .checksum("e59cca309463a5d98daeaada83d1b05fed5126c5") .name("NetFx64.exe") .get(); - this.uninstall("Mono"); + + this.removeMono(); + this.wizard().wait(tr("Please wait while {0} is installed...", ".NET Framework 2.0")); - this.run(setupFile, ["/q:a", "/c:install.exe /q"], null, false, true) + this.run(setupFile64, ["/q:a", "/c:install.exe /q"], null, false, true) } + //This is in winetricks source, but does not seem to work + //this.wizard().wait(tr("Please wait while executing ngen...")); + //this.run(this.prefixDirectory() + "/drive_c/windows/Microsoft.NET/Framework/v2.0.50727/ngen.exe", "executequeueditems", null, false, true); + return this; }; diff --git a/Engines/Wine/Verbs/dotnet40/script.js b/Engines/Wine/Verbs/dotnet40/script.js old mode 100644 new mode 100755 index c3603963b2..a77b155387 --- a/Engines/Wine/Verbs/dotnet40/script.js +++ b/Engines/Wine/Verbs/dotnet40/script.js @@ -1,14 +1,22 @@ include("engines.wine.engine.object"); include("engines.wine.plugins.override_dll"); include("utils.functions.net.resource"); -include("engines.wine.verbs.luna"); -include("utils.functions.filesystem.files"); +include("engines.wine.plugins.windows_version"); +include("engines.wine.verbs.remove_mono"); +include("engines.wine.plugins.regedit"); + /** * Verb to install .NET 4.0 * @returns {Wine} Wine object */ Wine.prototype.dotnet40 = function () { + if (this.architecture() == "amd64") { + print(tr("This package ({0}) may not fully work on a 64-bit installation. 32-bit prefixes may work better.", "dotnet40")); + } + + var osVersion = this.windowsVersion(); + var setupFile = new Resource() .wizard(this.wizard()) .url("http://download.microsoft.com/download/9/5/A/95A9616B-7A37-4AF6-BC36-D6EA96C8DAAE/dotNetFx40_Full_x86_x64.exe") @@ -16,12 +24,9 @@ Wine.prototype.dotnet40 = function () { .name("dotNetFx40_Full_x86_x64.exe") .get(); - this.uninstall("Mono"); + this.removeMono(); - this.wizard().wait(tr("Please wait...")); - this.run("reg", ["delete", "HKLM\Software\Microsoft\NET Framework Setup\NDP\v4", "/f"], null, false, true); - - remove(this.system32directory() + "/mscoree.dll"); + this.windowsVersion("winxp"); this.overrideDLL() .set("builtin", ["fusion"]) @@ -30,14 +35,27 @@ Wine.prototype.dotnet40 = function () { this.wizard().wait(tr("Please wait while {0} is installed...", ".NET Framework 4.0")); this.run(setupFile, [setupFile, "/q", "/c:\"install.exe /q\""], null, false, true); + this.wizard().wait(tr("Please wait...")); + this.regedit().deleteValue("HKCU\\Software\\Wine\\DllOverrides", "*fusion"); + this.overrideDLL() .set("native", ["mscoree"]) .do(); this.wizard().wait(tr("Please wait...")); - this.run("reg", ["add", "HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Full", "/v", "Install", "/t", "REG_DWORD", "/d", "0001", "/f"], null, false, true); - this.wizard().wait(tr("Please wait...")); - this.run("reg", ["add", "HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Full", "/v", "Version", "/t", "REG_SZ", "/d", "4.0.30319", "/f"], null, false, true); + var regeditFileContent = "REGEDIT4\n" + + "\n" + + "[HKEY_LOCAL_MACHINE\\Software\\Microsoft\\NET Framework Setup\\NDP\\v4\\Full]\n" + + "\"Install\"=dword:0001\n" + + "\"Version\"=\"4.0.30319\""; + + this.regedit().patch(regeditFileContent); + + //This is in winetricks source, but does not seem to work + //this.wizard().wait(tr("Please wait while executing ngen...")); + //this.run(this.prefixDirectory() + "/drive_c/windows/Microsoft.NET/Framework/v4.0.30319/ngen.exe", "executequeueditems", null, false, true); + + this.windowsVersion(osVersion); return this; }; @@ -50,6 +68,10 @@ var verbImplementation = { var wine = new Wine(); wine.prefix(container); var wizard = SetupWizard(InstallationType.VERBS, "dotnet40", java.util.Optional.empty()); + if (wine.architecture() == "amd64") + { + wizard.message(tr("This package ({0}) may not fully work on a 64-bit installation. 32-bit prefixes may work better.", "dotnet40")); + } wine.wizard(wizard); wine.dotnet40(); wizard.close(); @@ -58,4 +80,3 @@ var verbImplementation = { /* exported Verb */ var Verb = Java.extend(org.phoenicis.engines.Verb, verbImplementation); - diff --git a/Engines/Wine/Verbs/dotnet45/script.js b/Engines/Wine/Verbs/dotnet45/script.js old mode 100644 new mode 100755 index 28e3be9f3e..562f52a73d --- a/Engines/Wine/Verbs/dotnet45/script.js +++ b/Engines/Wine/Verbs/dotnet45/script.js @@ -1,9 +1,9 @@ include("engines.wine.engine.object"); include("engines.wine.plugins.override_dll"); -include("engines.wine.plugins.windows_version"); include("utils.functions.net.resource"); -include("engines.wine.verbs.luna"); -include("utils.functions.filesystem.files"); +include("engines.wine.plugins.windows_version"); +include("engines.wine.verbs.remove_mono"); +include("engines.wine.plugins.regedit"); include("engines.wine.verbs.dotnet40"); /** @@ -11,12 +11,11 @@ include("engines.wine.verbs.dotnet40"); * @returns {Wine} Wine object */ Wine.prototype.dotnet45 = function () { - if (this.architecture() == "amd64") { - throw "{0} cannot be installed in a 64bit wine prefix!".format("dotnet45"); + print(tr("This package ({0}) may not fully work on a 64-bit installation. 32-bit prefixes may work better.", "dotnet45")); } - var OSVersion = this.windowsVersion(); + var osVersion = this.windowsVersion(); var setupFile = new Resource() .wizard(this.wizard()) @@ -25,12 +24,7 @@ Wine.prototype.dotnet45 = function () { .name("dotnetfx45_full_x86_x64.exe") .get(); - this.uninstall("Mono"); - - this.wizard().wait(tr("Please wait...")); - this.run("reg", ["delete", "HKLM\Software\Microsoft\NET Framework Setup\NDP\v4", "/f"], null, false, true); - - remove(this.system32directory() + "/mscoree.dll"); + this.removeMono(); this.dotnet40(); this.windowsVersion("win7"); @@ -42,13 +36,16 @@ Wine.prototype.dotnet45 = function () { this.wizard().wait(tr("Please wait while {0} is installed...", ".NET Framework 4.5")); this.run(setupFile, [setupFile, "/q", "/c:\"install.exe /q\""], null, false, true); + this.wizard().wait(tr("Please wait...")); + this.regedit().deleteValue("HKCU\\Software\\Wine\\DllOverrides", "*fusion"); + this.overrideDLL() .set("native", ["mscoree"]) .do(); - this.windowsVersion(OSVersion); + this.windowsVersion(osVersion); - if (OSVersion != "win2003") { + if (osVersion != "win2003") { print(tr("{0} applications can have issues when windows version is not set to \"win2003\"", ".NET 4.5")); } @@ -63,6 +60,10 @@ var verbImplementation = { var wine = new Wine(); wine.prefix(container); var wizard = SetupWizard(InstallationType.VERBS, "dotnet45", java.util.Optional.empty()); + if (wine.architecture() == "amd64") + { + wizard.message(tr("This package ({0}) may not fully work on a 64-bit installation. 32-bit prefixes may work better.", "dotnet45")); + } wine.wizard(wizard); wine.dotnet45(); wizard.close(); @@ -71,4 +72,3 @@ var verbImplementation = { /* exported Verb */ var Verb = Java.extend(org.phoenicis.engines.Verb, verbImplementation); - diff --git a/Engines/Wine/Verbs/dotnet452/script.js b/Engines/Wine/Verbs/dotnet452/script.js old mode 100644 new mode 100755 index 44667670ae..1fbf1ac3cd --- a/Engines/Wine/Verbs/dotnet452/script.js +++ b/Engines/Wine/Verbs/dotnet452/script.js @@ -1,18 +1,20 @@ include("engines.wine.engine.object"); include("engines.wine.plugins.override_dll"); -include("engines.wine.plugins.windows_version"); include("utils.functions.net.resource"); -include("engines.wine.verbs.luna"); -include("utils.functions.filesystem.files"); +include("engines.wine.plugins.windows_version"); +include("engines.wine.verbs.remove_mono"); +include("engines.wine.plugins.regedit"); include("engines.wine.verbs.dotnet40"); + /** * Verb to install .NET 4.5.2 * @returns {Wine} Wine object */ Wine.prototype.dotnet452 = function () { + print(tr("This package ({0}) does not work currently. Use it only for testing!", "dotnet452")); - var OSVersion = this.windowsVersion(); + var osVersion = this.windowsVersion(); var setupFile = new Resource() .wizard(this.wizard()) @@ -21,12 +23,7 @@ Wine.prototype.dotnet452 = function () { .name("NDP452-KB2901907-x86-x64-AllOS-ENU.exe") .get(); - this.uninstall("Mono"); - - this.wizard().wait(tr("Please wait...")); - this.run("reg", ["delete", "HKLM\Software\Microsoft\NET Framework Setup\NDP\v4", "/f"], null, false, true); - - remove(this.system32directory() + "/mscoree.dll"); + this.removeMono(); this.dotnet40(); this.windowsVersion("win7"); @@ -38,13 +35,16 @@ Wine.prototype.dotnet452 = function () { this.wizard().wait(tr("Please wait while {0} is installed...", ".NET Framework 4.5.2")); this.run(setupFile, [setupFile, "/q", "/c:\"install.exe /q\""], null, false, true); + this.wizard().wait(tr("Please wait...")); + this.regedit().deleteValue("HKCU\\Software\\Wine\\DllOverrides", "*fusion"); + this.overrideDLL() .set("native", ["mscoree"]) .do(); - this.windowsVersion(OSVersion); + this.windowsVersion(osVersion); - if (OSVersion != "win2003") { + if (osVersion != "win2003") { print(tr("{0} applications can have issues when windows version is not set to \"win2003\"", ".NET 4.5.2")); } @@ -59,6 +59,7 @@ var verbImplementation = { var wine = new Wine(); wine.prefix(container); var wizard = SetupWizard(InstallationType.VERBS, "dotnet452", java.util.Optional.empty()); + wizard.message(tr("This package ({0}) does not work currently. Use it only for testing!", "dotnet452")); wine.wizard(wizard); wine.dotnet452(); wizard.close(); diff --git a/Engines/Wine/Verbs/dotnet452/script.json b/Engines/Wine/Verbs/dotnet452/script.json index 15ba3433ec..5d1836d702 100644 --- a/Engines/Wine/Verbs/dotnet452/script.json +++ b/Engines/Wine/Verbs/dotnet452/script.json @@ -5,7 +5,10 @@ "MACOSX", "LINUX" ], - "testingOperatingSystems" : [], - "free" : true, - "requiresPatch" : false + "testingOperatingSystems" : [ + "MACOSX", + "LINUX" + ], + "free" : true, + "requiresPatch" : false } diff --git a/Engines/Wine/Verbs/dotnet46/script.js b/Engines/Wine/Verbs/dotnet46/script.js new file mode 100755 index 0000000000..f2da711ff1 --- /dev/null +++ b/Engines/Wine/Verbs/dotnet46/script.js @@ -0,0 +1,65 @@ +include("engines.wine.engine.object"); +include("engines.wine.plugins.override_dll"); +include("utils.functions.net.resource"); +include("engines.wine.plugins.windows_version"); +include("engines.wine.verbs.remove_mono"); +include("engines.wine.plugins.regedit"); +include("engines.wine.verbs.dotnet45"); + +/** +* Verb to install .NET 4.6 +* @returns {Wine} Wine object +*/ +Wine.prototype.dotnet46 = function () { + print(tr("This package ({0}) does not work currently. Use it only for testing!", "dotnet46")); + + var osVersion = this.windowsVersion(); + + var setupFile = new Resource() + .wizard(this._wizard) + .url("https://download.microsoft.com/download/C/3/A/C3A5200B-D33C-47E9-9D70-2F7C65DAAD94/NDP46-KB3045557-x86-x64-AllOS-ENU.exe") + .checksum("3049a85843eaf65e89e2336d5fe6e85e416797be") + .name("NDP46-KB3045557-x86-x64-AllOS-ENU.exe") + .get(); + + this.removeMono(); + + this.dotnet45(); + this.windowsVersion("win7"); + + this.overrideDLL() + .set("builtin", ["fusion"]) + .do(); + + this.wizard().wait(tr("Please wait while {0} is installed...", ".NET Framework 4.6")); + this.run(setupFile, [setupFile, "/q", "/c:\"install.exe /q\""], null, false, true); + + this.wizard().wait(tr("Please wait...")); + this.regedit().deleteValue("HKCU\\Software\\Wine\\DllOverrides", "*fusion"); + + this.overrideDLL() + .set("native", ["mscoree"]) + .do(); + + this.windowsVersion(osVersion); + + return this; +}; + +/** + * Verb to install .NET 4.6 +*/ +var verbImplementation = { + install: function (container) { + var wine = new Wine(); + wine.prefix(container); + var wizard = SetupWizard(InstallationType.VERBS, "dotnet46", java.util.Optional.empty()); + wizard.message(tr("This package ({0}) does not work currently. Use it only for testing!", "dotnet46")); + wine.wizard(wizard); + wine.dotnet46(); + wizard.close(); + } +}; + +/* exported Verb */ +var Verb = Java.extend(org.phoenicis.engines.Verb, verbImplementation); diff --git a/Engines/Wine/Verbs/dotnet46/script.json b/Engines/Wine/Verbs/dotnet46/script.json new file mode 100755 index 0000000000..d4783caf22 --- /dev/null +++ b/Engines/Wine/Verbs/dotnet46/script.json @@ -0,0 +1,14 @@ +{ + "scriptName" : ".NET 4.6", + "id" : "engines.wine.verbs.dotnet46", + "compatibleOperatingSystems" : [ + "MACOSX", + "LINUX" + ], + "testingOperatingSystems" : [ + "MACOSX", + "LINUX" + ], + "free" : true, + "requiresPatch" : false +} diff --git a/Engines/Wine/Verbs/dotnet461/script.js b/Engines/Wine/Verbs/dotnet461/script.js old mode 100644 new mode 100755 index c5083b5dbb..430e9b5670 --- a/Engines/Wine/Verbs/dotnet461/script.js +++ b/Engines/Wine/Verbs/dotnet461/script.js @@ -1,15 +1,21 @@ include("engines.wine.engine.object"); +include("engines.wine.plugins.override_dll"); include("utils.functions.net.resource"); -include("engines.wine.verbs.luna"); -include("utils.functions.filesystem.files"); -include("engines.wine.verbs.dotnet452"); +include("engines.wine.plugins.windows_version"); +include("engines.wine.verbs.remove_mono"); +include("engines.wine.plugins.regedit"); +include("engines.wine.verbs.dotnet46"); + /** * Verb to install .NET 4.6.1 * @returns {Wine} Wine object */ Wine.prototype.dotnet461 = function () { - var OSVersion = this.windowsVersion(); + print(tr("This package ({0}) does not work currently. Use it only for testing!", "dotnet461")); + + var osVersion = this.windowsVersion(); + var setupFile = new Resource() .wizard(this._wizard) .url("https://download.microsoft.com/download/E/4/1/E4173890-A24A-4936-9FC9-AF930FE3FA40/NDP461-KB3102436-x86-x64-AllOS-ENU.exe") @@ -17,13 +23,9 @@ Wine.prototype.dotnet461 = function () { .name("NDP461-KB3102436-x86-x64-AllOS-ENU.exe") .get(); - this.uninstall("Mono"); - - this.wizard().wait(tr("Please wait...")); - this.run("reg", ["delete", "HKLM\Software\Microsoft\NET Framework Setup\NDP\v4", "/f"], null, false, true); + this.removeMono(); - remove(this.system32directory() + "/mscoree.dll"); - this.dotnet452() + this.dotnet46(); this.windowsVersion("win7"); this.overrideDLL() @@ -31,17 +33,17 @@ Wine.prototype.dotnet461 = function () { .do(); this.wizard().wait(tr("Please wait while {0} is installed...", ".NET Framework 4.6.1")); - this.run(setupFile, [setupFile, "/q", "/c:\"install.exe /q\""], null, false, true); + this.run(setupFile, [setupFile, "/q", "/norestart"], null, false, true); + + this.wizard().wait(tr("Please wait...")); + this.regedit().deleteValue("HKCU\\Software\\Wine\\DllOverrides", "*fusion"); this.overrideDLL() .set("native", ["mscoree"]) .do(); - this.windowsVersion(OSVersion); + this.windowsVersion(osVersion); - if (OSVersion != "win2003") { - print(tr("{0} applications can have issues when windows version is not set to \"win2003\"", ".NET 4.6.1")); - } return this; }; @@ -53,6 +55,7 @@ var verbImplementation = { var wine = new Wine(); wine.prefix(container); var wizard = SetupWizard(InstallationType.VERBS, "dotnet461", java.util.Optional.empty()); + wizard.message(tr("This package ({0}) does not work currently. Use it only for testing!", "dotnet461")); wine.wizard(wizard); wine.dotnet461(); wizard.close(); @@ -61,4 +64,3 @@ var verbImplementation = { /* exported Verb */ var Verb = Java.extend(org.phoenicis.engines.Verb, verbImplementation); - diff --git a/Engines/Wine/Verbs/dotnet462/script.js b/Engines/Wine/Verbs/dotnet462/script.js new file mode 100755 index 0000000000..9c3072bec4 --- /dev/null +++ b/Engines/Wine/Verbs/dotnet462/script.js @@ -0,0 +1,66 @@ +include("engines.wine.engine.object"); +include("engines.wine.plugins.override_dll"); +include("utils.functions.net.resource"); +include("engines.wine.plugins.windows_version"); +include("engines.wine.verbs.remove_mono"); +include("engines.wine.plugins.regedit"); +include("engines.wine.verbs.dotnet461"); + + +/** +* Verb to install .NET 4.6.2 +* @returns {Wine} Wine object +*/ +Wine.prototype.dotnet462 = function () { + print(tr("This package ({0}) does not work currently. Use it only for testing!", "dotnet462")); + + var osVersion = this.windowsVersion(); + + var setupFile = new Resource() + .wizard(this._wizard) + .url("https://download.microsoft.com/download/F/9/4/F942F07D-F26F-4F30-B4E3-EBD54FABA377/NDP462-KB3151800-x86-x64-AllOS-ENU.exe") + .checksum("a70f856bda33d45ad0a8ad035f73092441715431") + .name("NDP462-KB3151800-x86-x64-AllOS-ENU.exe") + .get(); + + this.removeMono(); + + this.dotnet461(); + this.windowsVersion("win7"); + + this.overrideDLL() + .set("builtin", ["fusion"]) + .do(); + + this.wizard().wait(tr("Please wait while {0} is installed...", ".NET Framework 4.6.2")); + this.run(setupFile, [setupFile, "/sfxlang:1027", "/q", "/norestart"], null, false, true); + + this.wizard().wait(tr("Please wait...")); + this.regedit().deleteValue("HKCU\\Software\\Wine\\DllOverrides", "*fusion"); + + this.overrideDLL() + .set("native", ["mscoree"]) + .do(); + + this.windowsVersion(osVersion); + + return this; +}; + +/** + * Verb to install .NET 4.6.2 +*/ +var verbImplementation = { + install: function (container) { + var wine = new Wine(); + wine.prefix(container); + var wizard = SetupWizard(InstallationType.VERBS, "dotnet462", java.util.Optional.empty()); + wizard.message(tr("This package ({0}) does not work currently. Use it only for testing!", "dotnet462")); + wine.wizard(wizard); + wine.dotnet462(); + wizard.close(); + } +}; + +/* exported Verb */ +var Verb = Java.extend(org.phoenicis.engines.Verb, verbImplementation); diff --git a/Engines/Wine/Verbs/dotnet462/script.json b/Engines/Wine/Verbs/dotnet462/script.json new file mode 100755 index 0000000000..bf85d3dab4 --- /dev/null +++ b/Engines/Wine/Verbs/dotnet462/script.json @@ -0,0 +1,14 @@ +{ + "scriptName" : ".NET 4.6.2", + "id" : "engines.wine.verbs.dotnet462", + "compatibleOperatingSystems" : [ + "MACOSX", + "LINUX" + ], + "testingOperatingSystems" : [ + "MACOSX", + "LINUX" + ], + "free" : true, + "requiresPatch" : false +} diff --git a/Engines/Wine/Verbs/dotnet472/script.js b/Engines/Wine/Verbs/dotnet472/script.js new file mode 100755 index 0000000000..277de8821d --- /dev/null +++ b/Engines/Wine/Verbs/dotnet472/script.js @@ -0,0 +1,66 @@ +include("engines.wine.engine.object"); +include("engines.wine.plugins.override_dll"); +include("utils.functions.net.resource"); +include("engines.wine.plugins.windows_version"); +include("engines.wine.verbs.remove_mono"); +include("engines.wine.plugins.regedit"); +include("engines.wine.verbs.dotnet462"); + + +/** +* Verb to install .NET 4.7.2 +* @returns {Wine} Wine object +*/ +Wine.prototype.dotnet472 = function () { + print(tr("This package ({0}) does not work currently. Use it only for testing!", "dotnet472")); + + var osVersion = this.windowsVersion(); + + var setupFile = new Resource() + .wizard(this._wizard) + .url("https://download.microsoft.com/download/6/E/4/6E48E8AB-DC00-419E-9704-06DD46E5F81D/NDP472-KB4054530-x86-x64-AllOS-ENU.exe") + .checksum("31fc0d305a6f651c9e892c98eb10997ae885eb1e") + .name("NDP472-KB4054530-x86-x64-AllOS-ENU.exe") + .get(); + + this.removeMono(); + + this.dotnet462(); + this.windowsVersion("win7"); + + this.overrideDLL() + .set("builtin", ["fusion"]) + .do(); + + this.wizard().wait(tr("Please wait while {0} is installed...", ".NET Framework 4.7.2")); + this.run(setupFile, [setupFile, "/sfxlang:1027", "/q", "/norestart"], null, false, true); + + this.wizard().wait(tr("Please wait...")); + this.regedit().deleteValue("HKCU\\Software\\Wine\\DllOverrides", "*fusion"); + + this.overrideDLL() + .set("native", ["mscoree"]) + .do(); + + this.windowsVersion(osVersion); + + return this; +}; + +/** + * Verb to install .NET 4.7.2 +*/ +var verbImplementation = { + install: function (container) { + var wine = new Wine(); + wine.prefix(container); + var wizard = SetupWizard(InstallationType.VERBS, "dotnet472", java.util.Optional.empty()); + wizard.message(tr("This package ({0}) does not work currently. Use it only for testing!", "dotnet472")); + wine.wizard(wizard); + wine.dotnet472(); + wizard.close(); + } +}; + +/* exported Verb */ +var Verb = Java.extend(org.phoenicis.engines.Verb, verbImplementation); diff --git a/Engines/Wine/Verbs/dotnet472/script.json b/Engines/Wine/Verbs/dotnet472/script.json new file mode 100755 index 0000000000..44df85d3a5 --- /dev/null +++ b/Engines/Wine/Verbs/dotnet472/script.json @@ -0,0 +1,14 @@ +{ + "scriptName" : ".NET 4.7.2", + "id" : "engines.wine.verbs.dotnet472", + "compatibleOperatingSystems" : [ + "MACOSX", + "LINUX" + ], + "testingOperatingSystems" : [ + "MACOSX", + "LINUX" + ], + "free" : true, + "requiresPatch" : false +}