derrod
d1dd7dd6d3
updater: Migrate to nlohmann JSON
2023-07-23 02:18:53 +02:00
derrod
bdc2da6e48
updater: Update installed version in registry
2023-07-22 16:33:19 -07:00
Richard Stanway
b7fddceb67
updater: Treat mapped file errors as a sharing violation
...
For whatever reason there exists a different error code if the file has
been opened as a mapped file, so we need to handle it.
2023-07-21 03:02:31 +02:00
derrod
46525f5175
updater: Fix updating without patch files
2023-07-07 12:50:02 -04:00
PatTheMav
db895092ed
cmake: Add changes for CMake build framework 3.0
...
New code path only taken if OBS_CMAKE_VERSION is set to 3.0.0 or
greater, old functionality remains unchanged.
2023-06-29 10:11:32 -04:00
derrod
8983083cec
updater: Refactor and cleanup
2023-06-11 02:17:28 +02:00
Lain
106c7aa61f
Update copyrights/names
2023-05-20 01:31:18 -07:00
derrod
5fbe9cdb41
updater: Add workaround for broken CLI arguments
2023-03-29 02:08:46 +02:00
PatTheMav
349372b3b3
cmake: Add changes for CMake build framework 3.0
...
New code path only taken if OBS_CMAKE_VERSION is set to 3.0.0 or
greater, old functionality remains unchanged.
2023-03-26 18:20:38 -04:00
derrod
b31344d82e
updater: Fix building in Debug
2023-03-12 20:50:45 +01:00
derrod
0ece23dff2
updater: Bump version
2023-03-07 15:34:27 -05:00
derrod
2790e1ab1b
updater: Use native WinHTTP decompression (remove zlib)
2023-03-07 15:34:27 -05:00
derrod
fc5a84ed5d
updater: Use zstd for patch manifest request
2023-03-07 15:34:27 -05:00
derrod
f29e1fdee4
updater: Switch to Zstandard for delta updates
...
zstd is faster, less resource intensive, and produces smaller
files than bsdiff + LZMA.
Overall, it's a significant improvement for our workflow.
2023-03-07 15:34:27 -05:00
derrod
787c5f67a8
updater: Add Zstandard for compressed downloads
...
Using zstd reduces the download size for updates by about 2/3.
2023-03-07 15:34:27 -05:00
derrod
8ba646c842
updater: Check if awaited instance matches current install
...
Also replaces any secondary usages of GetCurrentDirectory with cached
static variable.
Co-Authored-By: Richard Stanway <r1ch@r1ch.net>
2023-03-03 21:47:56 +00:00
derrod
08733a0e1a
updater: Remove 32-bit Support
2023-03-01 20:18:03 -05:00
derrod
d15dce99d0
updater: Multi-threaded delta patching
2023-03-01 16:20:43 -05:00
Georges Basile Stavracas Neto
a1a98f9cfd
plugins: Drop win-ivcam
...
Apparently this was a prototype from Intel that never really
properly launched. Remove the plugin.
2023-02-24 14:04:29 +01:00
derrod
0972da9e1a
UI: Merge win-update and nix-update
2023-02-19 01:35:56 +01:00
derrod
cd78ecae50
updater: Deduplicate delta patch downloads
2023-01-29 02:24:55 -08:00
derrod
cbe3ef7e57
Revert "UI/updater: Fix files with similar hashes clashing"
...
This reverts commit 7396c211be
.
2023-01-29 02:24:55 -08:00
derrod
778cf5a96a
updater: Pass AppData path to elevated process
2023-01-25 12:32:41 -05:00
derrod
ffd7202168
updater: Add additional status messages
2023-01-24 20:14:40 -08:00
derrod
edcb80ae8b
updater: Hash files with multiple threads
2023-01-22 23:58:56 +01:00
derrod
143877c8ff
updater: Fix portable OBS not being relaunched correctly
2023-01-14 15:30:58 -08:00
derrod
807c0c386d
updater: Deduplicate Downloads
2023-01-12 11:37:26 -08:00
derrod
9c2cccfbc7
updater: Bump to version 2.2
2022-12-03 15:03:28 -08:00
derrod
1617424466
updater: Add --branch/--portable command line arguments
2022-11-22 02:54:07 +01:00
Richard Stanway
47e441b2e5
UI/updater: CMake: Add /utf-8 to MSVC command line
...
Fixes compiler interpreting UTF-8 as individual bytes when building the
wide string and showing the wrong characters.
Fixes #7304 .
2022-09-05 22:51:15 +02:00
Richard Stanway
1cae3d4a3c
UI/updater: Fix manifest XML namespace for dpiAware setting
2022-09-05 22:49:11 +02:00
Ryan Foster
7d853fb155
UI/updater: Only run updater on Windows 10+
...
OBS Studio 28 no longer supports Windows 7, 8, or 8.1, and Qt 6 will
fail to run on those versions. Users on those systems being offered the
update will end up in a state where OBS will not run if they install the
update. Let's prevent the updater executable from running on those
versions to avoid that scenario.
2022-09-02 18:03:17 -07:00
jp9000
7396c211be
UI/updater: Fix files with similar hashes clashing
...
Do to multithreading the update process, files of the same hash can
sometimes collide due to race. Ensure the filenames are all unique by
appending an incremented value for each file.
2022-08-31 20:51:21 -07:00
jp9000
e87a97eb8c
UI/updater: Fix silent failure on auto-update
2022-08-31 20:19:11 -07:00
Richard Stanway
31414d2d7a
UI/updater: Fix wrong parameter order for MessageBox
2022-09-01 00:44:57 +02:00
Richard Stanway
854d75919f
UI/updater: Use a unique temp path for patch files
...
Fixes a case where patches for the same destination file but different
source files would clobber each other and cause integrity check
failures.
2022-09-01 00:37:53 +02:00
derrod
9a5e094cb3
UI/updater: Delete files listed as removed in manifest
2022-08-30 00:22:22 -07:00
PatTheMav
1f0f2be15e
UI: Update CMakeLists.txt for main OBS app
2022-03-16 23:11:58 +01:00
Richard Stanway
10446c1a0b
UI/updater: Explicitly set PSAPI_VERSION=2
...
If the user didn't set their minimum SDK level this would default to
PSAPI_VERSION=1 which requires psapi.lib (removed in 4614c057
).
2021-12-09 02:51:08 +01:00
jpark37
4614c0574e
UI/updater: Remove dependency on psapi.lib
2021-09-12 14:10:36 -07:00
Richard Stanway
2678d351f5
UI/updater: Increase number of download workers
...
Request / response latency dominates the download time of small
files and patches, especially the locale files. Increasing this to
4 doesn't consume many more resources and basically doubles the
download speed, especially on higher latency connections.
2020-12-21 18:32:39 +01:00
Richard Stanway
f0ed8c337e
UI/updater: Enable HTTP2 and TLS 1.3
...
Unfortunately WinHTTP doesn't support multiplexing with HTTP2, but there
is still some minor benefit to enabling it. Windows 10 21H1 will enable
TLS 1.3 client support in Schannel, so let's get ready for it.
2020-12-21 18:32:39 +01:00
Richard Stanway
9201390a46
UI/updater: Move in-use files away before writing
...
On a modern Windows OS, you can rename an in-use file despite not being
able to write to it. With the introduction of the virtual camera, it is
now quite common that users will have in-use files when updating. This
commit renames in-use files, allowing the new version to be installed.
Upon a reboot, the previously in-use file will be deleted.
2020-12-15 21:11:47 +01:00
Richard Stanway
c0d7602b64
UI/updater: Always clean up temporary files
...
If an update failed to install, it would leave a single temporary file
behind for that particular patch / file.
2020-12-15 21:11:35 +01:00
jp9000
580eecda01
UI: Fix installer/updater check for vs2019 32bit
...
VS2019 32bit redist does not have/use vcruntime140_1.dll, so remove
those checks from the installer and auto-updater.
2020-12-13 21:59:21 -08:00
jp9000
13ee86ab7f
UI/updater: Fix dll check
2020-12-09 22:25:49 -08:00
jp9000
a01d3e77b1
UI: Remove jansson requirement from UI and updater
...
Use json11 instead.
2020-12-09 22:23:03 -08:00
jp9000
9cc5aa5629
UI/updater: Update redist checks to VS2019
2020-12-09 22:23:03 -08:00
jp9000
4a9bb86916
UI/updater: Fix cmd prompts popping up registering vcam
...
Fixes an issue where command prompts would pop up when registering the
virtual camera in the auto-updater
2020-09-29 04:36:32 -07:00
jp9000
3c54ea3eeb
UI/updater: Fix race condition
...
Fixes a race condition where a hash value could be overwritten from
different threads, causing corruption
2020-09-29 04:35:43 -07:00