diff --git a/bin/cabextract b/bin/cabextract new file mode 100755 index 0000000..cf32775 Binary files /dev/null and b/bin/cabextract differ diff --git a/src/src/modules/app-folders.js b/src/src/modules/app-folders.js index a1a6493..39cd687 100644 --- a/src/src/modules/app-folders.js +++ b/src/src/modules/app-folders.js @@ -21,6 +21,7 @@ export default class AppFolders { squashfuseFile = '/bin/squashfuse'; dosboxFile = '/bin/dosbox'; fuseisoFile = '/bin/fuseiso'; + cabextractFile = '/bin/cabextract'; libsDir = '/bin/libs/i386'; libs64Dir = '/bin/libs/x86-64'; shareDir = '/bin/share'; @@ -277,6 +278,10 @@ export default class AppFolders { return this.getRootDir() + this.fuseisoFile; } + getCabextractFile() { + return this.getRootDir() + this.cabextractFile; + } + getResolutionsFile() { return this.getRootDir() + this.resolutionsFile; } diff --git a/src/src/modules/kernels/wine.js b/src/src/modules/kernels/wine.js index cedf6c1..8a482f9 100644 --- a/src/src/modules/kernels/wine.js +++ b/src/src/modules/kernels/wine.js @@ -310,6 +310,7 @@ export default class Wine extends AbstractWine { return this.update.downloadWinetricks() .then(() => this.fs.exists(path) ? null : Promise.reject()) + .then(() => this.update.downloadCabextract()) .then(() => { api.commit(action.get('logs').CLEAR); diff --git a/src/src/modules/update.js b/src/src/modules/update.js index a880bcf..c43235b 100644 --- a/src/src/modules/update.js +++ b/src/src/modules/update.js @@ -8,7 +8,7 @@ const fs = require('fs'); export default class Update { - version = '1.5.19'; + version = '1.5.20'; /** * @type {string} @@ -118,6 +118,20 @@ export default class Update { return Promise.resolve(); } + /** + * @returns {Promise} + */ + downloadCabextract() { + let url = this.network.getRepo('/bin/cabextract'); + let path = this.appFolder.getCabextractFile(); + + if (!this.fs.exists(path)) { + return this.network.download(url, path); + } + + return Promise.resolve(); + } + /** * @return {string} */ diff --git a/src/src/modules/wine-command.js b/src/src/modules/wine-command.js index d91a57d..eee042b 100644 --- a/src/src/modules/wine-command.js +++ b/src/src/modules/wine-command.js @@ -163,6 +163,7 @@ export default class WineCommand extends Command { let exported = { VK_LAYER_PATH: `$VK_LAYER_PATH:${this.appFolders.getCacheImplicitLayerDir()}`, + PATH: `$PATH:${this.appFolders.getBinDir()}`, XDG_CACHE_HOME: this.appFolders.getCacheDir(), WINE: wine.getWineBin(), WINE64: wine.getWine64Bin(),