Skip to content

Commit 23a2567

Browse files
authored
Add default configuration files (#30)
* Add default configuration files The default configuration files are Common.txt, TrustedDomains.txt, UnsafeDomains.txt and UnsafeFiles.txt in `{app}\DefaultConfig`. Those files are installed when they are located in the "DefaultConfig" folder that exits in the same folder to installer like below. ``` │ FlexConfirmMailSetup-22.6.0.exe │ └─DefaultConfig Common.txt TrustedDomains.txt UnsafeDomains.txt ``` The configurations in the policy configuration and the default configuration files for trusted domains, unsafe domains and unsafe files are fixed, they can't modified by user configuration files. The priority of common configurations is as following. User file configurations > Default file configurations > Policy configurations * Bump version to 22.7.0 * add a new line * Remove a needless using
1 parent 6df45c1 commit 23a2567

6 files changed

+24
-9
lines changed

Config/Const.cs

+5
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,11 @@ public class RegistryPath
88
public static readonly string Policy = @"SOFTWARE\Policies\FlexConfirmMail";
99
}
1010

11+
public class ConfigPath
12+
{
13+
public static readonly string DefaultConfigDirName = @"DefaultConfig";
14+
}
15+
1116
public enum ConfigOption
1217
{
1318
CountEnabled,

Config/StandardPath.cs

+6-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
using System;
2-
32
using System.IO;
43

54
namespace FlexConfirmMail
@@ -10,6 +9,12 @@ public static string GetUserDir()
109
{
1110
string appData = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
1211
return Path.Combine(appData, Global.AppName);
12+
}
13+
14+
public static string GetDefaultConfigDir()
15+
{
16+
string dllDirectory = AppDomain.CurrentDomain.BaseDirectory;
17+
return Path.Combine(dllDirectory, ConfigPath.DefaultConfigDirName);
1318
}
1419
}
1520
}

Dialog/ConfigDialog.xaml.cs

+5-2
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ namespace FlexConfirmMail.Dialog
1111
public partial class ConfigDialog : Window
1212
{
1313
Config _config = new Config();
14-
Config _default = new Config();
14+
Config _default = new Config();
1515
Config _local = new Config();
1616

1717
public ConfigDialog()
@@ -24,7 +24,10 @@ public ConfigDialog()
2424
{
2525
_default = Loader.LoadFromReg(RegistryPath.DefaultPolicy);
2626
_config.Merge(_default);
27-
}
27+
}
28+
Config defaultWithFile = Loader.LoadFromDir(StandardPath.GetDefaultConfigDir());
29+
_default.Merge(defaultWithFile);
30+
_config.Merge(defaultWithFile);
2831

2932
_local = Loader.LoadFromDir(StandardPath.GetUserDir());
3033
_config.Merge(_local);

FlexConfirmMail.iss

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
[Setup]
22
AppName=FlexConfirmMail
33
AppVerName=FlexConfirmMail
4-
VersionInfoVersion=22.6.0
4+
VersionInfoVersion=22.7.0
55
AppPublisher=ClearCode Inc.
6-
AppVersion=22.6.0
6+
AppVersion=22.7.0
77
UninstallDisplayIcon={app}\fcm.ico
88
DefaultDirName={commonpf}\FlexConfirmMail
99
ShowLanguageDialog=no
@@ -42,8 +42,9 @@ Source: "bin\Release\FlexConfirmMail.dll"; DestDir: "{app}"; Flags: ignoreversio
4242
Source: "bin\Release\FlexConfirmMail.dll.manifest"; DestDir: "{app}"; Flags: ignoreversion
4343
Source: "bin\Release\FlexConfirmMail.vsto"; DestDir: "{app}"; Flags: ignoreversion
4444
Source: "bin\Release\en\FlexConfirmMail.resources.dll"; DestDir: "{app}\en"; Flags: ignoreversion
45-
Source: "bin\Release\zh\FlexConfirmMail.resources.dll"; DestDir: "{app}\zh"; Flags: ignoreversion
45+
Source: "bin\Release\zh\FlexConfirmMail.resources.dll"; DestDir: "{app}\zh"; Flags: ignoreversion
4646
Source: "bin\Release\es\FlexConfirmMail.resources.dll"; DestDir: "{app}\es"; Flags: ignoreversion
4747
Source: "bin\Release\Microsoft.Office.Tools.Common.v4.0.Utilities.dll"; DestDir: "{app}"; Flags: ignoreversion
4848
Source: "bin\Release\Microsoft.Office.Tools.Outlook.v4.0.Utilities.dll"; DestDir: "{app}"; Flags: ignoreversion
4949
Source: "Resources\fcm.ico"; DestDir: "{app}"; Flags: ignoreversion
50+
Source: "{src}\DefaultConfig\*.txt"; DestDir: "{app}\DefaultConfig"; Flags:external skipifsourcedoesntexist

Global.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ namespace FlexConfirmMail
55
public class Global
66
{
77
public static readonly string AppName = "FlexConfirmMail";
8-
public static readonly string Version = "22.6.0";
8+
public static readonly string Version = "22.7.0";
99
public static readonly string Edition = "Enterprise";
1010
public static readonly bool EnableGPO = true;
1111
}

ThisAddIn.cs

+3-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
using System.Windows.Media;
44
using System.Windows.Interop;
55
using Outlook = Microsoft.Office.Interop.Outlook;
6-
using System.Collections.Generic;
6+
using System.Collections.Generic;
77

88
namespace FlexConfirmMail
99
{
@@ -158,7 +158,8 @@ private bool DoCheck(Outlook.MailItem mail)
158158
if (Global.EnableGPO)
159159
{
160160
config.Merge(Loader.LoadFromReg(RegistryPath.DefaultPolicy));
161-
}
161+
}
162+
config.Merge(Loader.LoadFromDir(StandardPath.GetDefaultConfigDir()));
162163
config.Merge(Loader.LoadFromDir(StandardPath.GetUserDir()));
163164

164165
List<RecipientInfo> originalRecipients = GetOriginalRecipientsFromDictionary(mail.EntryID);

0 commit comments

Comments
 (0)