Merged 1.0.10_branch into master
This commit is contained in:
@@ -1,5 +1,8 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## 1.0.10 (Windows only)
|
||||||
|
* Fix VC runtime detection (detect additional GUID's)
|
||||||
|
|
||||||
## 1.0.8
|
## 1.0.8
|
||||||
* \#8: Add tooltips to settings
|
* \#8: Add tooltips to settings
|
||||||
* \#36: Add ability to select Linux distribution type if OS is unsupported
|
* \#36: Add ability to select Linux distribution type if OS is unsupported
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ Repertory allows you to mount Sia and/or SiaPrime blockchain storage solutions v
|
|||||||
* **Repertory UI v1.0.8 Linux 64-bit** [<Primary\>](https://pixeldrain.com/u/a1H78Dc_) [<Alternate\>](https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.8_linux_x86_64.AppImage)
|
* **Repertory UI v1.0.8 Linux 64-bit** [<Primary\>](https://pixeldrain.com/u/a1H78Dc_) [<Alternate\>](https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.8_linux_x86_64.AppImage)
|
||||||
* NOTE: Linux distributions require `fuse` and `libfuse` to be installed.
|
* NOTE: Linux distributions require `fuse` and `libfuse` to be installed.
|
||||||
* **Repertory UI v1.0.8 OS X 64-bit** [<Primary\>](https://pixeldrain.com/u/6NjT6uEl) [<Alternate\>](https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.8_mac.dmg)
|
* **Repertory UI v1.0.8 OS X 64-bit** [<Primary\>](https://pixeldrain.com/u/6NjT6uEl) [<Alternate\>](https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.8_mac.dmg)
|
||||||
* **Repertory UI v1.0.8 Windows 64-bit** [<Primary\>](https://pixeldrain.com/u/u_pP3IAk) [<Alternate\>](https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.8_win.exe)
|
* **Repertory UI v1.0.10 Windows 64-bit** [<Primary\>](https://pixeldrain.com/u/YCzKB0a9) [<Alternate\>](https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.10_win.exe)
|
||||||
|
|
||||||
## Supported Platforms
|
## Supported Platforms
|
||||||
* OS X 64-bit
|
* OS X 64-bit
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "repertory-ui",
|
"name": "repertory-ui",
|
||||||
"version": "1.0.8",
|
"version": "1.0.10",
|
||||||
"private": true,
|
"private": true,
|
||||||
"author": "scott.e.graves@protonmail.com",
|
"author": "scott.e.graves@protonmail.com",
|
||||||
"description": "GUI for Repertory - Repertory allows you to mount Sia and/or SiaPrime blockchain storage solutions via FUSE on Linux/OS X or via WinFSP on Windows.",
|
"description": "GUI for Repertory - Repertory allows you to mount Sia and/or SiaPrime blockchain storage solutions via FUSE on Linux/OS X or via WinFSP on Windows.",
|
||||||
|
|||||||
@@ -151,12 +151,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"win32": {
|
"win32": {
|
||||||
"1.0.8": {
|
"1.0.10": {
|
||||||
"sha256": "1dcf2ca95ee9ce1893166e7966e4aaa465735d00476d99414c57d18e7232212f",
|
"sha256": "62a7c36fd8657feda57134ebacac4feab65ebd577668a608770cbdf05a669055",
|
||||||
"sig": "AzXf0WkuGx4lXoGPgxsj2LDCAHwotKnvZHBFZv1f2A77sNtJaDQAgS3b4Hjg0AiWCRL9HzjJNprBv5lEUwc7AeRLXuj+4AI6Z7PeRaVs2NBgEHlIqldPwjime8bE2NBrkKfdDDdiAzhm3AqxgRzwhZ4sxkb3vNDdKIj4WnH79LsVCEcBgtuWalNvt3Q0i5ppBvu6+Iy/gZuGa7z+Jv2WU+Ijm7WjkmmmTdpcvP1UQTBL2UkriYOxVMIfrjHM0b2ch6RGBKUxS2h26h0xmJ7SzFoZ6lHcHDIxi8fsi7DIO/QDpottJPVgZLRuufSTyXLCbehLRI3dd1IWhQns0OTU11MBAUTRczJTaZ8nrjMesKdwbWqDDGMWOHyl39EuGIaGm3Mbi4iQWI3gz4RmX9kIWf0OSaT73okPvfjWA2Onn8IOs57TDw5fIyKKFjMkxqAPy0O+WonjJ5bd4Q/8HUpVx9M9NoClbztMQUhom2hVPkPiD3jQ8I9YcrmD9phZYkMf5As1G6RBsITsbpRA0bu9426y6K+nNJLPAM0TrW33oOziYV2z5HD1/Z+TsUMcusAPTbatjPLyLZ9kWIUqybPga8iPZW9iqszei2ywKl3EgAP/rZx2fn3qko9PvdpsoV6VBp9FxT2mguoRnkIo3lPGYXssBlfVBz0treGyjDoqcOrtciVLJbal54FTPU5o+Acuffi0Ft2F4qW7d3VglhEeA2i4zzPH2l8R0CuStei8ePMhOpebtByTPrclkvlbcOCg5adF+3/zTH9H261+P/IyrPct1ucvVpa6FlpcKfErWttRmxc9QhqiepyPUonLkHgB4Ur/ft6PzlE/+wD6arA7avSKdZqzeSksFSdnX/41fD8gL5CHfsCdbeqPvPd97CliiMCeGjVngQ5qFbC1+5DHuDopvs0yWcmDAO+nFrcQt3K01VjDYT+5plb263Ba3HKHqkT9N2gH8yWK/DdfT4Y8WAABomcgPeRSg6lAtNFv5RtWbSq9Q4dLFuhGM55EtXPG15zYAZqePCcyWYieP0wNuszcSsVNDScU8gqilwtn1oKO0ISZSYZUbdzI3fDc6SbaJNLwYdT/AlELZy0fAKILmJJN8MUXvcC7we6zyPOqwEf1ESLOb84Zw3+gPtH+Ao9dWHKdHOlyNyRzPvTYrcqSn2Uf3iHOLeoazqEEJ5Bh7jbDgVBkB4XEwijb+BvFV3cBcLdSg1Id3zZF02jkpaN4SMbEmqPbUv393CKRNs47p6ffFKKS5oUEpF6GpZq/wtjmKkdMSIzGVurbHPIaZI8JfLrEu/GAxAMGM7G3O5AiKOf0AH0wexhP5Vh6iE3MLNMA7n8SEQL5i/YUIL6b0tDL/wc=",
|
"sig": "A3t7jyMck0qrWLNAhFUxgNns/bEphbx3DzXcTnAc0g0z1l7JWBCk4MxNyovJCCGc5NmmAgK+U8KKbdGizqPaZrjggH6Sq4BjRSD/FGrX7c59G/rj1jD1y+A5aN3M77tz+2z+XVyUvtqRYN1Jh+JoBZOnHC4wywnOiu9Q942Ky4Ecn2wiNcyquHQailqR/rAVNVQ1qAWq5b54nySZs4ZuSF0uvgDYobWeYnMUSlU9p9u8ojPW0teqZKngNzexUynJQfZoBE0f4O5DUUDU4FDaWn3AcXdjnTLthPT2nJ8EXVCguod9MD9pjBfbr/UYUrSywG5bK01G3ZJLXs6dxb9xb2a9EoXPP91SDNZ3gAq+J+qKXUkN5kFCkC1Z+oyIClx08HQ0Pu24MCCSm4xYz1OAQygqCXCncmJEwvT+1qDPp8u8dobWO9lH+C4rRTUP/NHs78vCIQ0kR1r2k1q/1Xi1RalJ2N5V1nwPBRBH4iB/mQ5Z0CIYb/Wm8I5jexENWVEOWP1kTXCq9SGBDPuJYWIwrOz5UkgkZ0fQlOQaxI2ZWSTd5cUSQsljZoZ+T4pU2gMNR7T+GOjyc/hndx0w7D3gtzRy2/DVvMUmAnADCeIHfIivOtb9V1Uzu6Op84QKOv5rTe791QLplqcg620o6qIYr7lRA3tbSKrgR78XVGQA8odv79VtFh3PAGRkQ/nTkaucPBL9KmiB4KDctzLr49ky4d7xMOv68S72U69LBM886nA7vlQdEwIcW1TLkLj1n2DJADARu0Uub0M1O4PnQp/4iJic/dfWm0DIwvLltYNJrYT4G7m0KilzqcpPxhaUIkgDarcwWhisCAX9TvP9DhYQbjf0FDsp4KqhRvfn37QDI01DYRY80GSllabHf5sT0AxCgEGAPXC0BP+7OM8hjO/XXTExv4eXPlFoDI1+qLMRH+4GgnTCBks3Axe5rPhWzJZqqSLpWCNArQFhREwJqCyvdEtSyujM1bQ0nLawRlGbUJ9CJ/yQGGV92DiT3pyTaTNpLAATA9xKGuxiTMq1PGKRZTGPnGK5udvK11Vt7B8cmPpWQyixD98R989zkleuu5b/xDWXtRZcMm0ls0IZeX8/VTrhJEtYZsZ8k6UXJJ8UQJFRoQ2zlTCNGIt/9ZcslF9sfxJ7Bi1YeDJyeCykwR0RuTNunFsFKRrnDHoXxY9JihIOXNBJI9+iELqPdWwkNWtrelKciZN4edCxcg5UYF6kEGAJsrFUlYq2zfXwlxb4VQIHACTsiPsAuMGiyG3hydcFF2UGY8MKKxOeGnvyLInaJMfmQLY4iHoT2g8jBlfkgFvyHmSdM/KsJKxLxW4ve5x5QB8KX4gBVPZZW0GJxY/Tqz0=",
|
||||||
"urls": [
|
"urls": [
|
||||||
"https://pixeldrain.com/api/file/u_pP3IAk",
|
"https://pixeldrain.com/api/file/YCzKB0a9",
|
||||||
"https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.8_win.exe"
|
"https://bitbucket.org/blockstorage/repertory-ui/downloads/repertory-ui_1.0.10_win.exe"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -214,7 +214,7 @@
|
|||||||
"unavailable"
|
"unavailable"
|
||||||
],
|
],
|
||||||
"win32": [
|
"win32": [
|
||||||
"1.0.8"
|
"1.0.10"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -462,46 +462,56 @@ module.exports.getMissingDependencies = dependencies => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const Registry = require('winreg');
|
const Registry = require('winreg');
|
||||||
for (const dep of dependencies) {
|
const checkRegistry = (dep, index) => {
|
||||||
let hive = null;
|
if (index >= dep.registry.length) {
|
||||||
const hiveName = dep.registry[0].split('\\')[0];
|
missing.push(dep);
|
||||||
switch (hiveName) {
|
resolveIfComplete();
|
||||||
case 'HKEY_CLASSES_ROOT':
|
} else {
|
||||||
hive = Registry.HKCR;
|
let hive = null;
|
||||||
break;
|
const hiveName = dep.registry[index].split('\\')[0];
|
||||||
case 'HKEY_CURRENT_CONFIG':
|
switch (hiveName) {
|
||||||
hive = Registry.HKCC;
|
case 'HKEY_CLASSES_ROOT':
|
||||||
break;
|
hive = Registry.HKCR;
|
||||||
case 'HKEY_CURRENT_USER':
|
break;
|
||||||
hive = Registry.HKCU;
|
case 'HKEY_CURRENT_CONFIG':
|
||||||
break;
|
hive = Registry.HKCC;
|
||||||
case 'HKEY_LOCAL_MACHINE':
|
break;
|
||||||
hive = Registry.HKLM;
|
case 'HKEY_CURRENT_USER':
|
||||||
break;
|
hive = Registry.HKCU;
|
||||||
case 'HKEY_USERS':
|
break;
|
||||||
hive = Registry.HKU;
|
case 'HKEY_LOCAL_MACHINE':
|
||||||
break;
|
hive = Registry.HKLM;
|
||||||
default:
|
break;
|
||||||
throw Error('Invalid registry hive: ' + hiveName);
|
case 'HKEY_USERS':
|
||||||
}
|
hive = Registry.HKU;
|
||||||
|
break;
|
||||||
const key = dep.registry[0].substr(hiveName.length);
|
default:
|
||||||
const regKey = new Registry({
|
throw Error('Invalid registry hive: ' + hiveName);
|
||||||
hive: hive,
|
|
||||||
key: key
|
|
||||||
});
|
|
||||||
regKey.valueExists('DisplayName', (err, exists) => {
|
|
||||||
if (err || !exists) {
|
|
||||||
regKey.valueExists('ProductName', (err, exists) => {
|
|
||||||
if (err || !exists) {
|
|
||||||
missing.push(dep);
|
|
||||||
}
|
|
||||||
resolveIfComplete();
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
resolveIfComplete();
|
|
||||||
}
|
}
|
||||||
});
|
|
||||||
|
const key = dep.registry[index].substr(hiveName.length);
|
||||||
|
const regKey = new Registry({
|
||||||
|
hive: hive,
|
||||||
|
key: key
|
||||||
|
});
|
||||||
|
regKey.valueExists('DisplayName', (err, exists) => {
|
||||||
|
if (err || !exists) {
|
||||||
|
regKey.valueExists('ProductName', (err, exists) => {
|
||||||
|
if (err || !exists) {
|
||||||
|
checkRegistry(dep, ++index);
|
||||||
|
} else {
|
||||||
|
resolveIfComplete();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
resolveIfComplete();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
for (const dependency of dependencies) {
|
||||||
|
checkRegistry(dependency,0);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
for (const dep of dependencies) {
|
for (const dep of dependencies) {
|
||||||
|
|||||||
Reference in New Issue
Block a user