Moved packages dll's into Assembly folder to keep root folder cleaner

This commit is contained in:
Dimitrij
2024-10-18 10:58:49 +01:00
parent c0e3f547ec
commit 8dfe1a22c9
6 changed files with 308 additions and 77 deletions

View File

@@ -23,36 +23,65 @@ namespace mRemoteNG.App
[STAThread]
public static void Main(string[] args)
{
// Set path for assembly resolution
// This is needed for the application to find the assemblies in the Assemblies folder
AppDomain.CurrentDomain.AssemblyResolve += (sender, resolveArgs) =>
Trace.WriteLine("!!!!!!=============== TEST ==================!!!!!!!!!!!!!");
// Forcing to load System.Configuration.ConfigurationManager before any other assembly to be able to check settings
try
{
string assemblyFile = "System.Configuration.ConfigurationManager" + ".dll";
string assemblyPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Assemblies", assemblyFile);
if (File.Exists(assemblyPath))
{
Assembly.LoadFrom(assemblyPath);
}
}
catch (FileNotFoundException ex)
{
Trace.WriteLine("Error occured: " + ex.Message);
}
//Subscribe to AssemblyResolve event
AppDomain.CurrentDomain.AssemblyResolve += OnAssemblyResolve;
//Check if local settings DB exist or accessible
CheckLockalDB();
Lazy<bool> singleInstanceOption = new Lazy<bool>(() => Properties.OptionsStartupExitPage.Default.SingleInstance);
if (singleInstanceOption.Value)
{
StartApplicationAsSingleInstance();
}
else
{
StartApplication();
}
}
private static void CheckLockalDB()
{
LocalSettingsDBManager settingsManager = new LocalSettingsDBManager(dbPath: "mRemoteNG.appSettings", useEncryption: false, schemaFilePath: "");
}
private static Assembly OnAssemblyResolve(object sender, ResolveEventArgs resolveArgs)
{
string assemblyName = new AssemblyName(resolveArgs.Name).Name.Replace(".resources", string.Empty);
string assemblyFile = assemblyName + ".dll";
string assemblyPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Assemblies", assemblyFile);
if (File.Exists(assemblyPath))
{
return Assembly.LoadFrom(assemblyPath);
}
return null;
};
LocalSettingsDBManager settingsManager = new LocalSettingsDBManager(dbPath: "mRemoteNG.appSettings", useEncryption: false, schemaFilePath: "");
if (Properties.OptionsStartupExitPage.Default.SingleInstance)
StartApplicationAsSingleInstance();
else
StartApplication();
}
private static void StartApplication()
{
CatchAllUnhandledExceptions();
System.Windows.Forms.Application.EnableVisualStyles();
System.Windows.Forms.Application.SetCompatibleTextRenderingDefault(false);
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
_frmSplashScreen = FrmSplashScreenNew.GetInstance();
@@ -62,12 +91,12 @@ namespace mRemoteNG.App
_frmSplashScreen.Top = viewport.Top;
_frmSplashScreen.Left = viewport.Left;
// normally it should be screens[1] however due DPI apply 1 size "same" as default with 100%
_frmSplashScreen.Left = viewport.Left + (targetScreen.Bounds.Size.Width / 2) - (_frmSplashScreen.Width / 2);
_frmSplashScreen.Top = viewport.Top + (targetScreen.Bounds.Size.Height / 2) - (_frmSplashScreen.Height / 2);
_frmSplashScreen.Left = viewport.Left + (targetScreen.Bounds.Size.Width - _frmSplashScreen.Width) / 2;
_frmSplashScreen.Top = viewport.Top + (targetScreen.Bounds.Size.Height - _frmSplashScreen.Height) / 2;
_frmSplashScreen.ShowInTaskbar = false;
_frmSplashScreen.Show();
System.Windows.Forms.Application.Run(FrmMain.Default);
Application.Run(FrmMain.Default);
}
public static void CloseSingletonInstanceMutex()
@@ -140,5 +169,6 @@ namespace mRemoteNG.App
FrmUnhandledException window = new(e.ExceptionObject as Exception, e.IsTerminating);
window.ShowDialog(FrmMain.Default);
}
}
}

View File

@@ -546,6 +546,15 @@ namespace mRemoteNG.Resources.Language {
}
}
/// <summary>
/// Looks up a localized string similar to AutoSaveInMinutes.
/// </summary>
internal static string AutoSaveInMinutes {
get {
return ResourceManager.GetString("AutoSaveInMinutes", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Latest version.
/// </summary>
@@ -1699,6 +1708,15 @@ namespace mRemoteNG.Resources.Language {
}
}
/// <summary>
/// Looks up a localized string similar to Do Not Warn Me When Closing Connections.
/// </summary>
internal static string DoNotWarnMeWhenClosingConnections {
get {
return ResourceManager.GetString("DoNotWarnMeWhenClosingConnections", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Don&apos;t connect to console session.
/// </summary>
@@ -2450,6 +2468,15 @@ namespace mRemoteNG.Resources.Language {
}
}
/// <summary>
/// Looks up a localized string similar to Gateway.
/// </summary>
internal static string Gateway {
get {
return ResourceManager.GetString("Gateway", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to General.
/// </summary>
@@ -4828,6 +4855,15 @@ namespace mRemoteNG.Resources.Language {
}
}
/// <summary>
/// Looks up a localized string similar to RDP connection timeout.
/// </summary>
internal static string RdpConnectionTimeout {
get {
return ResourceManager.GetString("RdpConnectionTimeout", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Couldn&apos;t create RDP control, please check mRemoteNG requirements..
/// </summary>
@@ -5090,7 +5126,7 @@ namespace mRemoteNG.Resources.Language {
}
/// <summary>
/// Looks up a localized string similar to RDP reconnection count:.
/// Looks up a localized string similar to RDP reconnect count:.
/// </summary>
internal static string RdpReconnectCount {
get {
@@ -5098,6 +5134,15 @@ namespace mRemoteNG.Resources.Language {
}
}
/// <summary>
/// Looks up a localized string similar to RDP reconnection count:.
/// </summary>
internal static string RdpReconnectionCount {
get {
return ResourceManager.GetString("RdpReconnectionCount", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to RDP SetAuthenticationLevel failed!.
/// </summary>
@@ -5305,6 +5350,15 @@ namespace mRemoteNG.Resources.Language {
}
}
/// <summary>
/// Looks up a localized string similar to ReconnectToPreviouslyOpenedSessionsOnStartup.
/// </summary>
internal static string ReconnectToPreviouslyOpenedSessionsOnStartup {
get {
return ResourceManager.GetString("ReconnectToPreviouslyOpenedSessionsOnStartup", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Redirect.
/// </summary>
@@ -5541,6 +5595,24 @@ namespace mRemoteNG.Resources.Language {
}
}
/// <summary>
/// Looks up a localized string similar to SaveConnectionsOnExit.
/// </summary>
internal static string SaveConnectionsOnExit {
get {
return ResourceManager.GetString("SaveConnectionsOnExit", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to SaveConsOnExit.
/// </summary>
internal static string SaveConsOnExit {
get {
return ResourceManager.GetString("SaveConsOnExit", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Graphics Interchange Format File (.gif)|*.gif|Joint Photographic Experts Group File (.jpeg)|*.jpeg|Joint Photographic Experts Group File (.jpg)|*.jpg|Portable Network Graphics File (.png)|*.png.
/// </summary>
@@ -5649,6 +5721,15 @@ namespace mRemoteNG.Resources.Language {
}
}
/// <summary>
/// Looks up a localized string similar to SetHostnameLikeDisplayNameNewConnection.
/// </summary>
internal static string SetHostnameLikeDisplayNameNewConnection {
get {
return ResourceManager.GetString("SetHostnameLikeDisplayNameNewConnection", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Couldn&apos;t save settings or dispose SysTray Icon!.
/// </summary>
@@ -6009,6 +6090,15 @@ namespace mRemoteNG.Resources.Language {
}
}
/// <summary>
/// Looks up a localized string similar to Start Full Screen.
/// </summary>
internal static string StartFullScreen {
get {
return ResourceManager.GetString("StartFullScreen", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Start minimized.
/// </summary>
@@ -6261,6 +6351,15 @@ namespace mRemoteNG.Resources.Language {
}
}
/// <summary>
/// Looks up a localized string similar to Track Active Connection In The Connection Tree.
/// </summary>
internal static string TrackActiveConnectionInTheConnectionTree {
get {
return ResourceManager.GetString("TrackActiveConnectionInTheConnectionTree", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Transfer.
/// </summary>
@@ -6712,6 +6811,33 @@ namespace mRemoteNG.Resources.Language {
}
}
/// <summary>
/// Looks up a localized string similar to WarnMeOnlyWhenClosingMultipleConnections.
/// </summary>
internal static string WarnMeOnlyWhenClosingMultipleConnections {
get {
return ResourceManager.GetString("WarnMeOnlyWhenClosingMultipleConnections", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to WarnMeOnlyWhenExitingProgram.
/// </summary>
internal static string WarnMeOnlyWhenExitingProgram {
get {
return ResourceManager.GetString("WarnMeOnlyWhenExitingProgram", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to WarnMeWhenClosingConnections.
/// </summary>
internal static string WarnMeWhenClosingConnections {
get {
return ResourceManager.GetString("WarnMeWhenClosingConnections", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Website.
/// </summary>
@@ -6721,6 +6847,15 @@ namespace mRemoteNG.Resources.Language {
}
}
/// <summary>
/// Looks up a localized string similar to WebView2InitializationFailed.
/// </summary>
internal static string WebView2InitializationFailed {
get {
return ResourceManager.GetString("WebView2InitializationFailed", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Weekly.
/// </summary>
@@ -6730,6 +6865,15 @@ namespace mRemoteNG.Resources.Language {
}
}
/// <summary>
/// Looks up a localized string similar to WhenClosingConnections.
/// </summary>
internal static string WhenClosingConnections {
get {
return ResourceManager.GetString("WhenClosingConnections", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Windows.
/// </summary>

View File

@@ -231,9 +231,6 @@
<data name="Display" xml:space="preserve">
<value>Zobrazení</value>
</data>
<data name="Gateway" xml:space="preserve">
<value>Brána</value>
</data>
<data name="Miscellaneous" xml:space="preserve">
<value>Různé</value>
</data>
@@ -607,6 +604,9 @@ Otevírám nový prázdný soubor seznamu spojení.</value>
<data name="HttpSetPropsFailed" xml:space="preserve">
<value>Nastavení vlast. HTTP selhalo!</value>
</data>
<data name="IdentifyQuickConnectTabs" xml:space="preserve">
<value>Zavřít záložku dvojklikem na ní</value>
</data>
<data name="ImportAD" xml:space="preserve">
<value>Import z Active Directory</value>
</data>
@@ -1463,9 +1463,6 @@ Zpráva:
<data name="SaveConnectionsFileBeforeOpeningAnother" xml:space="preserve">
<value>Přejete si uložit stávající soubor seznamu připojení před načtením jiného?</value>
</data>
<data name="SaveConsOnExit" xml:space="preserve">
<value>Ukládat spojení při ukončení aplikace</value>
</data>
<data name="SaveImageFilter" xml:space="preserve">
<value>Soubor Graphics Interchange Format (.gif)|*.gif|Soubor Joint Photographic Experts Group (.jpeg)|*.jpeg|Soubor Joint Photographic Experts Group (.jpg)|*.jpg|Soubor Portable Network Graphics (.png)|*.png</value>
</data>
@@ -1800,30 +1797,50 @@ mRemoteNG se nyní ukončí a zahájí instalaci.</value>
<data name="LogToAppDir" xml:space="preserve">
<value>Logovat do adresáře kde je aplikace umístěna.</value>
</data>
+
+
+ <data name="AssignedCredential" xml:space="preserve">
<data name="AssignedCredential" xml:space="preserve">
<value>Přiřazené přihlašovací informace</value>
</data>
<data name="StartMinimized" xml:space="preserve">
<value>Po spuštění minimalizovat</value>
</data><data name="CreateEmptyPanelOnStartUp" xml:space="preserve">
<value>Otevřít prázdný panel při startu aplikace</value>
</data>
<data name="IdentifyQuickConnectTabs" xml:space="preserve">
<value>Zavřít záložku dvojklikem na ní</value>
</data>
<data name="CloseToSysTray" xml:space="preserve">
<value>Zavřít do oznamovací oblasti</value>
</data>
<data name="OptionsThemeNewThemeCaption" xml:space="preserve">
<value>Nový název šablony</value>
</data>
<data name="OptionsThemeNewThemeError" xml:space="preserve">
<value>Nepodařilo se vytvořit šablonu, buď již existuje šablona se stejným názvem nebo vámi zadaný název obsahuje speciální znaky.</value>
</data>
<data name="OptionsThemeNewThemeText" xml:space="preserve">
<value>Zadejte nový název šablony</value>
</data>
<data name="OptionsThemeNewThemeError" xml:space="preserve">
<value>Nepodařilo se vytvořit šablonu, buď již existuje šablona se stejným názvem nebo vámi zadaný název obsahuje speciální znaky.</value>
<data name="SaveConnectionsAfterEveryEdit" xml:space="preserve">
<value>Uložit připojení při každé úpravě</value>
</data>
<data name="FilterSearchMatchesInConnectionTree" xml:space="preserve">
<value>Filtrovat shody vyhledávání v seznamu připojení</value>
</data>
<data name="TestConnection" xml:space="preserve">
<value>Test spojení</value>
</data>
<data name="LoadBalanceInfoUseUtf8" xml:space="preserve">
<value>Použít kódování UTF8 pro vlastnost RDP "Load Balance Info"</value>
</data>
<data name="CreateEmptyPanelOnStartUp" xml:space="preserve">
<value>Otevřít prázdný panel při startu aplikace</value>
</data>
<data name="PlaceSearchBarAboveConnectionTree" xml:space="preserve">
<value>Umístit vyhledávací pole nad seznam připojení</value>
</data>
<data name="DoNotTrimUsername" xml:space="preserve">
<value>Nezkracovat uživatelské jméno</value>
</data>
<data name="StartMinimized" xml:space="preserve">
<value>Po spuštění minimalizovat</value>
</data>
<data name="CloseToSysTray" xml:space="preserve">
<value>Zavřít do oznamovací oblasti</value>
</data>
<data name="Gateway" xml:space="preserve">
<value>Brána</value>
</data>
<data name="SaveConsOnExit" xml:space="preserve">
<value>Ukládat spojení při ukončení aplikace</value>
</data>
<data name="SetHostnameLikeDisplayNameNewConnection" xml:space="preserve">
<value>Při vytváření nového připojení nastaví stejný název zobrazení jako je název počítače</value>
@@ -1839,46 +1856,29 @@ mRemoteNG se nyní ukončí a zahájí instalaci.</value>
</data>
<data name="WarnMeWhenClosingConnections" xml:space="preserve">
<value>Upozornit mě na ukončení připojení</value>
</data>
<data name="WarnMeOnlyWhenClosingMultipleConnections" xml:space="preserve">
<value>Upozornit mě pouze při ukončení několika připojení</value>
</data>
<data name="WarnMeOnlyWhenExitingProgram" xml:space="preserve">
<value>Upozornit mě pouze při ukončení programu</value>
</data>
<data name="DoNotWarnMeWhenClosingConnections" xml:space="preserve">
<value>Neupozorňovat na ukončení připojení</value>
</data>
<data name="SaveConnectionsAfterEveryEdit" xml:space="preserve">
<value>Uložit připojení při každé úpravě</value>
</data>
<data name="StartFullScreen" xml:space="preserve">
<value>Při spuštění zobrazit na celou obrazovku</value>
</data>
<data name="FilterSearchMatchesInConnectionTree" xml:space="preserve">
<value>Filtrovat shody vyhledávání v seznamu připojení</value>
</data>
<data name="ReconnectToPreviouslyOpenedSessionsOnStartup" xml:space="preserve">
<value>Obnovit dříve spuštěná připojení po startu</value>
</data>
<data name="SaveConnectionsOnExit" xml:space="preserve">
<value>Uložit připojení při ukončení programu</value>
</data>
<data name="PlaceSearchBarAboveConnectionTree" xml:space="preserve">
<value>Umístit vyhledávací pole nad seznam připojení</value>
</data>
<data name="TrackActiveConnectionInTheConnectionTree" xml:space="preserve">
<value>Označovat aktivní připojení v seznamu</value>
</data>
<data name="DoNotTrimUsername" xml:space="preserve">
<value>Nezkracovat uživatelské jméno</value>
</data>
<data name="AutoSaveInMinutes" xml:space="preserve">
<value>Kliknutím na již otevřené připojení v seznamu otevře jeho záložku</value>
</data>
<data name="LoadBalanceInfoUseUtf8" xml:space="preserve">
<value>Použít kódování UTF8 pro vlastnost RDP "Load Balance Info"</value>
<data name="WarnMeOnlyWhenClosingMultipleConnections1" xml:space="preserve">
<value>Upozornit mě pouze při ukončení několika připojení</value>
</data>
<data name="TestConnection" xml:space="preserve">
<value>Test spojení</value>
</data></root>
</root>

View File

@@ -1424,7 +1424,7 @@ If you run into such an error, please create a new connection file!</value>
<value>RDP Gateway is not supported!</value>
</data>
<data name="RdpReconnectCount" xml:space="preserve">
<value>RDP reconnection count:</value>
<value>RDP reconnect count:</value>
</data>
<data name="RdpSetAuthenticationLevelFailed" xml:space="preserve">
<value>RDP SetAuthenticationLevel failed!</value>
@@ -2368,4 +2368,52 @@ Nightly Channel includes Alphas, Betas &amp; Release Candidates.</value>
<data name="OptionsCompanyPolicyMessage" xml:space="preserve">
<value>*Some settings are determined by your company. For further information, please contact your administrator</value>
</data>
<data name="Gateway" xml:space="preserve">
<value>Gateway</value>
</data>
<data name="SaveConsOnExit" xml:space="preserve">
<value>SaveConsOnExit</value>
</data>
<data name="SetHostnameLikeDisplayNameNewConnection" xml:space="preserve">
<value>SetHostnameLikeDisplayNameNewConnection</value>
</data>
<data name="RdpReconnectionCount" xml:space="preserve">
<value>RDP reconnection count:</value>
</data>
<data name="RdpConnectionTimeout" xml:space="preserve">
<value>RDP connection timeout</value>
</data>
<data name="WhenClosingConnections" xml:space="preserve">
<value>WhenClosingConnections</value>
</data>
<data name="WarnMeWhenClosingConnections" xml:space="preserve">
<value>WarnMeWhenClosingConnections</value>
</data>
<data name="WarnMeOnlyWhenExitingProgram" xml:space="preserve">
<value>WarnMeOnlyWhenExitingProgram</value>
</data>
<data name="DoNotWarnMeWhenClosingConnections" xml:space="preserve">
<value>Do Not Warn Me When Closing Connections</value>
</data>
<data name="StartFullScreen" xml:space="preserve">
<value>Start Full Screen</value>
</data>
<data name="ReconnectToPreviouslyOpenedSessionsOnStartup" xml:space="preserve">
<value>ReconnectToPreviouslyOpenedSessionsOnStartup</value>
</data>
<data name="SaveConnectionsOnExit" xml:space="preserve">
<value>SaveConnectionsOnExit</value>
</data>
<data name="TrackActiveConnectionInTheConnectionTree" xml:space="preserve">
<value>Track Active Connection In The Connection Tree</value>
</data>
<data name="AutoSaveInMinutes" xml:space="preserve">
<value>AutoSaveInMinutes</value>
</data>
<data name="WebView2InitializationFailed" xml:space="preserve">
<value>WebView2InitializationFailed</value>
</data>
<data name="WarnMeOnlyWhenClosingMultipleConnections" xml:space="preserve">
<value>WarnMeOnlyWhenClosingMultipleConnections</value>
</data>
</root>

View File

@@ -18,10 +18,10 @@ using System.Resources;
[assembly: AssemblyCulture("")]
// Version information
[assembly: AssemblyVersion("1.77.3.2694")]
[assembly: AssemblyFileVersion("1.77.3.2694")]
[assembly: AssemblyVersion("1.77.3.2697")]
[assembly: AssemblyFileVersion("1.77.3.2697")]
[assembly: NeutralResourcesLanguageAttribute("en-US")]
[assembly: AssemblyInformationalVersion("1.77.3 (Nightly Build 2694)")]
[assembly: AssemblyInformationalVersion("1.77.3 (Nightly Build 2697)")]
// Logging
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config")]

View File

@@ -527,11 +527,20 @@
<PropertyGroup>
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
</PropertyGroup>
<!--
<Target Name="MoveAssemblies" AfterTargets="Build">
<ItemGroup>
<Assemblies Include="$(OutputPath)**\*.dll" Exclude="$(OutputPath)Assemblies\**\*" />
</ItemGroup>
<MakeDir Directories="$(OutputPath)Assemblies" />
<MakeDir Directories="$(OutputPath)Languages" />
<Copy SourceFiles="@(Assemblies)" DestinationFolder="$(OutputPath)Assemblies" />
<Delete Files="@(Assemblies)" />
</Target>
-->
<Target Name="CopyPackageAssembliesToSubFolder" AfterTargets="ResolveReferences">
<ItemGroup>
<ReferenceCopyLocalPaths Condition=" '%(ReferenceCopyLocalPaths.NuGetPackageId)' != '' " Update="%(ReferenceCopyLocalPaths)" DestinationSubDirectory="Assemblies\" />
</ItemGroup>
</Target>
</Project>