Update Updater.exe

This commit is contained in:
Kamil Trzciński 2022-12-16 22:32:59 +01:00
parent b0277d3c0b
commit 72c15b8e74
10 changed files with 117 additions and 34 deletions

View file

@ -9,12 +9,8 @@
</PropertyGroup>
<Target Name="SetSourceRevisionId" BeforeTargets="InitializeSourceControlInformation">
<Exec
Command="git describe --long --always --dirty --exclude=* --abbrev=8"
ConsoleToMSBuild="True"
IgnoreExitCode="True"
>
<Output PropertyName="SourceRevisionId" TaskParameter="ConsoleOutput"/>
<Exec Command="git describe --long --always --dirty --exclude=* --abbrev=8" ConsoleToMSBuild="True" IgnoreExitCode="True">
<Output PropertyName="SourceRevisionId" TaskParameter="ConsoleOutput" />
</Exec>
</Target>
@ -31,4 +27,10 @@
</Reference>
</ItemGroup>
<ItemGroup>
<None Update="LICENSE.md">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
</Project>

View file

@ -178,6 +178,12 @@ namespace CommonHelpers
public static void WithSentry(Action action, string? dsn = null)
{
if (File.Exists("DisableCheckForUpdates.txt"))
{
action();
return;
}
// Overwrite DSN
if (dsn != null)
{

29
CommonHelpers/LICENSE.md Normal file
View file

@ -0,0 +1,29 @@
Creative Commons Attribution-NonCommercial (CC-BY-NC)
https://creativecommons.org/licenses/by-nc/4.0/
By running this project you agree to the following licenses and policies:
This project requires the following dependencies:
- Microsoft Visual C++ Redistributable - https://aka.ms/vs/17/release/vc_redist.x64.exe
- .NET Desktop Runtime 6.0 - https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/runtime-desktop-6.0.11-windows-x64-installer
- Rivatuner Statistics Server - https://www.guru3d.com/files-details/rtss-rivatuner-statistics-server-download.html
- ViGEmBus - https://github.com/ViGEm/ViGEmBus/releases
This project might connect to remote server and share the following information unless it is disabled
by creation of the `DisableCheckForUpdates.txt` in the root folder of the project:
- During updates checking it might share version, type of installation and unique identifier of installation for statistical purposes
- Exceptions raised by the application might be logged using sentry.io: this includes OS version, exception message,
application version, stack trace, loaded libraries, unique identifier of installation to correlate distinct exceptions.
This project uses the following components:
- https://github.com/mKenfenheuer/hidapi.net/
- https://github.com/mKenfenheuer/neptune-hidapi.net/blob/main/Hid/HidEnums.cs
- https://stackoverflow.com/a/65412682
- https://stackoverflow.com/questions/50623154/c-sharp-wpf-windows-10-1803-touchkeyboard-unreliable-issue-prism-clickonce
- https://stackoverflow.com/questions/4013622/adjust-screen-brightness-using-c-sharp
- Copyright (C) LibreHardwareMonitor and Contributors.
- http://stackoverflow.com/questions/14306048/controling-volume-mixer
- https://stackoverflow.com/questions/22903429/c-sharp-not-supported

View file

@ -10,7 +10,6 @@ namespace PowerControl.Helpers
/// <summary>
/// Controls audio using the Windows CoreAudio API
/// from: http://stackoverflow.com/questions/14306048/controling-volume-mixer
/// and: http://netcoreaudio.codeplex.com/
/// </summary>
public static class AudioManager
{

View file

@ -1,8 +1,29 @@
Creative Commons Attribution-NonCommercial (CC-BY-NC)
https://creativecommons.org/licenses/by-nc/4.0/
By running this project you agree to the following licenses and policies:
This project requires the following dependencies:
- Microsoft Visual C++ Redistributable - https://aka.ms/vs/17/release/vc_redist.x64.exe
- .NET Desktop Runtime 6.0 - https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/runtime-desktop-6.0.11-windows-x64-installer
- Rivatuner Statistics Server - https://www.guru3d.com/files-details/rtss-rivatuner-statistics-server-download.html
- ViGEmBus - https://github.com/ViGEm/ViGEmBus/releases
This project might connect to remote server and share the following information unless it is disabled
by creation of the `DisableCheckForUpdates.txt` in the root folder of the project:
- During updates checking it might share version, type of installation and unique identifier of installation for statistical purposes
- Exceptions raised by the application might be logged using sentry.io: this includes OS version, exception message,
application version, stack trace, loaded libraries, unique identifier of installation to correlate distinct exceptions.
This project uses the following components:
- https://github.com/mKenfenheuer/hidapi.net/
- https://github.com/mKenfenheuer/neptune-hidapi.net/blob/main/Hid/HidEnums.cs
- https://stackoverflow.com/a/65412682
- https://stackoverflow.com/questions/50623154/c-sharp-wpf-windows-10-1803-touchkeyboard-unreliable-issue-prism-clickonce
- https://stackoverflow.com/questions/4013622/adjust-screen-brightness-using-c-sharp
- Copyright (C) LibreHardwareMonitor and Contributors.
- http://stackoverflow.com/questions/14306048/controling-volume-mixer
- https://stackoverflow.com/questions/22903429/c-sharp-not-supported

View file

@ -54,6 +54,19 @@ namespace Updater
Instance.RunOnce(null, "Global\\SteamDeckToolsAutoUpdater");
if (File.Exists("DisableCheckForUpdates.txt"))
{
if (userCheck || cmdLine)
{
MessageBox.Show(
"This application has explicitly disabled auto-updates. Remove the 'DisableCheckForUpdates.txt' file and retry again",
Title,
MessageBoxButtons.OK
);
}
return;
}
var persistence = new RegistryPersistenceProvider(@"Software\SteamDeckTools\AutoUpdater");
if (userCheck || cmdLine)

View file

@ -47,6 +47,7 @@ It is strongly advised that following software is uninstalled or disabled:
- [Controller Shortcuts](shortcuts.md) - default shortcuts when using [Steam Controller](steam-controller.md).
- [Development](development.md) - how to compile this project.
- [Risks](risks.md) - this project uses kernel manipulation and might result in unstable system.
- [Privacy](privacy.md) - this project can connect to remote server to check for auto-updates or track
- [Troubleshooting](troubleshooting.md) - if you encounter any problems.
- The latest beta version can be found in [GitHub Releases](https://github.com/ayufan/steam-deck-tools/releases).

View file

@ -3,30 +3,3 @@
It should be enough to run `scripts/build.bat` to see binaries in `build-release/`.
You might also run `scripts/test_debug.bat` which will build and run built version.
## Data tracking
To aid the application development this project uses [Sentry.io](https://sentry.io/)
to track all exceptions raised by the application. It is essential to identify bugs
and fix them with minimal user intervention superseeding the need to user
[troubleshooting](troubleshooting.md).
As part of Sentry error tracking the following information is being sent and is logged
including, but not only:
- Windows Version
- .NET Framework Version
- Application Version
- Unique Machine ID
Additionally for statistic purposes the Machine ID and Application Version might
be tracked as part of Update process to see active user-base vs version used.
The Unique Machine ID is one time generated GUID that is persisted on the first start
of an application.
Application for auto-update purposes checks for latest release on a start,
or every 24 hours.
All information being logged can be seen in a publically available source code
of this application.

32
docs/privacy.md Normal file
View file

@ -0,0 +1,32 @@
# Privacy
To aid the application development this project uses [Sentry.io](https://sentry.io/)
to track all exceptions raised by the application. It is essential to identify bugs
and fix them with minimal user intervention superseeding the need to user
[troubleshooting](troubleshooting.md).
As part of Sentry error tracking the following information is being sent and is logged
including, but not only:
- Windows Version
- .NET Framework Version
- Application Version
- Unique installation ID
Additionally for statistic purposes the installation ID and Application Version might
be tracked as part of Update process to see active user-base vs version used.
The installation ID is one time generated GUID that is persisted on the first start
of an application.
Application for auto-update purposes checks for latest release on a start,
or every 24 hours.
All information being sent can be seen in a publically available source code
of this application.
## Disable it
Create `DisableCheckForUpdates.txt` file. To validate that this is working,
when clicking `Check for Updates` or running `Updater.exe` the application
will show `This application has explicitly disabled auto-updates`.

View file

@ -250,6 +250,12 @@ Section "Run on Startup" StartAllComponents
Exec '"$INSTDIR\SteamController.exe" -run-on-startup'
SectionEnd
Section /o "Disable Check for Updates" DisableCheckForUpdates
SetShellVarContext All
FileOpen $0 "$INSTDIR\DisableCheckForUpdates.txt" w
FileClose $0
SectionEnd
;--------------------------------
;Installer Functions
@ -275,6 +281,7 @@ FunctionEnd
!insertmacro MUI_DESCRIPTION_TEXT ${DesktopShortcut} "Create a shortcut on your desktop."
!insertmacro MUI_DESCRIPTION_TEXT ${ProgramsShortcut} "Create a shortcut in your start menu folder."
!insertmacro MUI_DESCRIPTION_TEXT ${StartAllComponents} "Start all components on system boot."
!insertmacro MUI_DESCRIPTION_TEXT ${DisableCheckForUpdates} "This application might connect remote server to check for updates or track errors. This helps this project development."
!insertmacro MUI_FUNCTION_DESCRIPTION_END
;--------------------------------