add package convert directory permission override

This commit is contained in:
Lightczx
2024-01-29 16:26:50 +08:00
parent 457e3ff4d5
commit ab436ecb2f
4 changed files with 17 additions and 0 deletions

View File

@@ -56,6 +56,7 @@ internal static class SettingKeys
public const string SuppressMetadataInitialization = "SuppressMetadataInitialization";
public const string OverrideElevationRequirement = "OverrideElevationRequirement";
public const string OverrideUpdateVersionComparison = "OverrideUpdateVersionComparison";
public const string OverridePackageConvertDirectoryPermissionsRequirement = "OverridePackageConvertDirectoryPermissionsRequirement";
#endregion
#region Obsolete

View File

@@ -3,6 +3,7 @@
using Microsoft.Win32.SafeHandles;
using Snap.Hutao.Control.Extension;
using Snap.Hutao.Core.Setting;
using Snap.Hutao.Factory.ContentDialog;
using Snap.Hutao.Factory.Progress;
using Snap.Hutao.Model.Intrinsic;
@@ -124,6 +125,11 @@ internal sealed class LaunchExecutionEnsureGameResourceHandler : ILaunchExecutio
private static bool CheckDirectoryPermissions(string folder)
{
if (LocalSetting.Get(SettingKeys.OverridePackageConvertDirectoryPermissionsRequirement, false))
{
return true;
}
// Program Files has special permissions limitation.
string programFiles = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles);
if (folder.StartsWith(programFiles, StringComparison.OrdinalIgnoreCase))

View File

@@ -103,6 +103,10 @@
<ToggleSwitch IsOn="{Binding OverrideUpdateVersionComparison, Mode=TwoWay}"/>
</cwc:SettingsCard>
<cwc:SettingsCard Header="Override Package Convert Directory Permission Requirement">
<ToggleSwitch IsOn="{Binding OverridePackageConvertDirectoryPermissionsRequirement, Mode=TwoWay}"/>
</cwc:SettingsCard>
<cwc:SettingsCard
Command="{Binding CompensationGachaLogServiceTimeCommand}"
Header="Compensation GachaLog Service Time For 15 Days"

View File

@@ -46,6 +46,12 @@ internal sealed partial class TestViewModel : Abstraction.ViewModel
set => LocalSetting.Set(SettingKeys.OverrideUpdateVersionComparison, value);
}
public bool OverridePackageConvertDirectoryPermissionsRequirement
{
get => LocalSetting.Get(SettingKeys.OverridePackageConvertDirectoryPermissionsRequirement, false);
set => LocalSetting.Set(SettingKeys.OverridePackageConvertDirectoryPermissionsRequirement, value);
}
[Command("ResetGuideStateCommand")]
private static void ResetGuideState()
{