Compare commits

...

19 Commits

Author SHA1 Message Date
Warkratos
400a20f4e1 Update Forced Preset Letter to the new auto-preset selection 2026-01-15 00:39:27 +00:00
Warkratos
8c453d61a0 Update "Latest" to "Recommended" following NVIDIA app Update. 2026-01-15 00:39:27 +00:00
Warkratos
4c7c4de855 Add "NV_REG_ENABLE_GPU_FIRMWARE" to Extra 2026-01-15 00:39:27 +00:00
Warkratos
d7d0806861 Add preset model name on preset letter. 2026-01-15 00:39:27 +00:00
Orbmu2k
60be99d691 removed app.config 2026-01-11 00:47:54 +01:00
emoose
b36029c743 CustomSettingNames: add descriptions to DLSS preset settings 2026-01-09 02:11:15 +00:00
Warkratos
d463064f1a Add "DLSS - Forced Model Preset Profile" and "16GB Shader Cache Size" (new default)
When changing any override setting via NVApp, this Forced Model preset Profile also changes to "Latest" or "Custom", some games need this to "Latest" for override to work.

Also added the new default 16Gb Shader Cache size to better transparency.

Was thinking to rename all DLSS to DLSS-SR, as the name is now better known.
2026-01-09 01:20:29 +00:00
emoose
1a673e8c09 App: switch to .NET 4.8
4.8 is included in Win10+ while 4.8.1 needed redist installed on some.
2026-01-06 13:39:50 +00:00
Warkratos
85976f6a2f Preset M and L from DLSS-SR now used. 2026-01-06 13:37:08 +00:00
Warkratos
c5f0a9b03c Update CustomSettingNames.xml 2026-01-06 13:37:08 +00:00
Warkratos
f72ec9d032 add 32-bits info 2026-01-06 13:37:08 +00:00
Warkratos
506e95d018 add minrequireddriver 2026-01-06 13:37:08 +00:00
Warkratos
7dfec1c76d Typo 2026-01-06 13:37:08 +00:00
Warkratos
a8994a7e96 Add Force GPU Accelerated PhysX setting for RTX 50 GPUs 2026-01-06 13:37:08 +00:00
Warkratos
44d35d798b Update quality to 67% 2026-01-06 13:37:08 +00:00
emoose
985af53a27 Drs: update GetDrsProgramPath 2025-08-07 03:41:01 +01:00
emoose
c38992cd7c Settings: show DLSS override version in dropdown/description, and
remove unused mark from DLSS-RR preset E.

Tries to parse nvngx_config.txt and find the latest override version,
displays it in dropdown.

Needs testing with systems that have modified nvngx_config (eg. through
updating DLSS override with tools), may release test version for it
soon.
2025-08-06 23:30:42 +01:00
emoose
53ead6e9ef Form: disable text auto-complete in filter textbox
Thanks to Astyanax for posting fix on guru3d forums!
2025-08-06 23:05:09 +01:00
emoose
f35c4cda03 UserSettings: fix exception when settings.xml doesn't exist 2025-08-01 22:03:18 +01:00
9 changed files with 229 additions and 37 deletions

View File

@@ -51,6 +51,11 @@ namespace nspector.Common
return fiDbInstaller.DirectoryName;
}
string sys32Path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), @"drivers\NVIDIA Corporation\Drs\dbInstaller.exe");
if (File.Exists(sys32Path))
return sys32Path;
return Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles),
@"NVIDIA Corporation\Drs");
}

View File

@@ -0,0 +1,125 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace nspector.Common.Helper
{
public class IniParser
{
public Dictionary<string, Dictionary<string, string>> Data { get; } = new();
public void Load(string filePath)
{
using var reader = new StreamReader(filePath);
string? line;
string? currentSection = null;
while ((line = reader.ReadLine()) != null)
{
line = line.Trim();
// Skip empty lines and comments
if (string.IsNullOrEmpty(line) || line.StartsWith(";") || line.StartsWith("#"))
continue;
// Section
if (line.StartsWith("[") && line.EndsWith("]"))
{
currentSection = line.Substring(1, line.Length - 2).Trim();
if (!Data.ContainsKey(currentSection))
Data[currentSection] = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
}
// Key=Value
else if (currentSection != null && line.Contains('='))
{
int idx = line.IndexOf('=');
var key = line.Substring(0, idx).Trim();
var value = line.Substring(idx + 1).Trim();
Data[currentSection][key] = value;
}
}
}
public string? GetValue(string section, string key)
{
if (Data.TryGetValue(section, out var sectionDict) &&
sectionDict.TryGetValue(key, out var value))
{
return value;
}
return null;
}
public List<string> GetSections()
{
return Data.Keys.ToList();
}
}
public static class DlssHelper
{
private static Dictionary<string, Version> _ngxVersions = FetchVersions();
// Fetches latest versions installed in C:\ProgramData\NVIDIA\NGX\models\ folder
private static Dictionary<string, Version> FetchVersions()
{
Dictionary<string, Version> versions = new Dictionary<string, Version>();
try
{
string ngxDataPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), @"NVIDIA\NGX\models\");
string ngxConfigPath = Path.Combine(ngxDataPath, "nvngx_config.txt");
if (!File.Exists(ngxConfigPath))
return versions;
var ini = new IniParser();
ini.Load(ngxConfigPath);
foreach (string section in ini.GetSections())
{
string versionStr = ini.GetValue(section, "app_E658700");
if (string.IsNullOrEmpty(versionStr))
continue;
Version ver = new Version(versionStr.Trim());
versions[section] = ver;
}
}
catch
{
versions.Clear();
}
return versions;
}
public static string GetSnippetLatestVersion(string snippet)
{
if (!_ngxVersions.ContainsKey(snippet))
return "unknown";
return "v" + _ngxVersions[snippet].ToString();
}
public static string ReplaceDlssVersions(string str)
{
if (string.IsNullOrEmpty(str))
return str;
if (str.Contains("${DlssVersion}"))
str = str.Replace("${DlssVersion}", DlssHelper.GetSnippetLatestVersion("dlss").ToString());
if (str.Contains("${DlssgVersion}"))
str = str.Replace("${DlssgVersion}", DlssHelper.GetSnippetLatestVersion("dlssg").ToString());
if (str.Contains("${DlssdVersion}"))
str = str.Replace("${DlssdVersion}", DlssHelper.GetSnippetLatestVersion("dlssd").ToString());
return str;
}
}
}

View File

@@ -22,7 +22,7 @@ namespace nspector.Common.Helper
public bool ShowScannedUnknownSettings { get; set; } = false;
public List<string> HiddenSettingGroups { get; set; }
public List<string> HiddenSettingGroups { get; set; } = new List<string>();
public bool DisableUpdateCheck { get; set; } = false;

View File

@@ -3,6 +3,7 @@ using nspector.Native.NVAPI2;
using System;
using System.Collections.Generic;
using System.Linq;
using nspector.Common.Helper;
namespace nspector.Common.Meta
{
@@ -42,13 +43,19 @@ namespace nspector.Common.Meta
}
}
private string ProcessNameReplacements(string friendlyName)
{
// Apply string version replacements here before settings are fully loaded, so that string-to-value mappings can be preserved
return DlssHelper.ReplaceDlssVersions(friendlyName);
}
public string GetSettingName(uint settingId)
{
var setting = customSettings.Settings
.FirstOrDefault(x => x.SettingId.Equals(settingId));
if (setting != null)
return setting.UserfriendlyName;
return ProcessNameReplacements(setting.UserfriendlyName);
return null;
}
@@ -86,7 +93,7 @@ namespace nspector.Common.Meta
{
ValuePos = i++,
Value = x.SettingValue,
ValueName = _source == SettingMetaSource.CustomSettings ? x.UserfriendlyName : DrsUtil.GetDwordString(x.SettingValue) + " " + x.UserfriendlyName,
ValueName = _source == SettingMetaSource.CustomSettings ? ProcessNameReplacements(x.UserfriendlyName) : DrsUtil.GetDwordString(x.SettingValue) + " " + ProcessNameReplacements(x.UserfriendlyName),
}).ToList();
}

View File

@@ -6,30 +6,54 @@
<HexSettingID>0x10E41E01</HexSettingID>
<GroupName>5 - Common</GroupName>
<MinRequiredDriverVersion>0</MinRequiredDriverVersion>
<Description>If enabled, overrides DLSS with the latest global version installed (${DlssVersion}).\r\nNVIDIA periodically push OTA updates for the override, though it often lags behind the actual latest available online.\r\nOnly DLSS2+ games support the override, certain games may also disallow using it.</Description>
<SettingValues>
<CustomSettingValue>
<UserfriendlyName>Off</UserfriendlyName>
<HexValue>0x00000000</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>On - DLSS overridden by latest available</UserfriendlyName>
<UserfriendlyName>On - DLSS overridden by latest installed (${DlssVersion})</UserfriendlyName>
<HexValue>0x00000001</HexValue>
</CustomSettingValue>
</SettingValues>
<SettingMasks/>
</CustomSetting>
<CustomSetting>
<UserfriendlyName>DLSS - Forced Model Preset Profile</UserfriendlyName>
<HexSettingID>0x00634291</HexSettingID>
<GroupName>5 - Common</GroupName>
<MinRequiredDriverVersion>0</MinRequiredDriverVersion>
<Description>If "Forced Preset Letter" has no effect, this setting may need to be changed for the game to apply the custom preset.</Description>
<SettingValues>
<CustomSettingValue>
<UserfriendlyName>N/A</UserfriendlyName>
<HexValue>0x00000000</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Recommended</UserfriendlyName>
<HexValue>0x00000001</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Custom</UserfriendlyName>
<HexValue>0x00000002</HexValue>
</CustomSettingValue>
</SettingValues>
<SettingMasks/>
</CustomSetting>
<CustomSetting>
<UserfriendlyName>DLSS-RR - Enable DLL Override</UserfriendlyName>
<HexSettingID>0x10E41E02</HexSettingID>
<GroupName>5 - Common</GroupName>
<MinRequiredDriverVersion>0</MinRequiredDriverVersion>
<Description>If enabled, overrides DLSS-RR with the latest global version installed (${DlssdVersion}).\r\nNVIDIA periodically push OTA updates for the override, though it often lags behind the actual latest available online.\r\nOnly DLSS2+ games support the override, certain games may also disallow using it.</Description>
<SettingValues>
<CustomSettingValue>
<UserfriendlyName>Off</UserfriendlyName>
<HexValue>0x00000000</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>On - DLSS-RR overridden by latest available</UserfriendlyName>
<UserfriendlyName>On - DLSS-RR overridden by latest installed (${DlssdVersion})</UserfriendlyName>
<HexValue>0x00000001</HexValue>
</CustomSettingValue>
</SettingValues>
@@ -40,13 +64,14 @@
<HexSettingID>0x10E41E03</HexSettingID>
<GroupName>5 - Common</GroupName>
<MinRequiredDriverVersion>0</MinRequiredDriverVersion>
<Description>If enabled, overrides DLSS-FG with the latest global version installed (${DlssgVersion}).\r\nNVIDIA periodically push OTA updates for the override, though it often lags behind the actual latest available online.\r\nOnly DLSS2+ games support the override, certain games may also disallow using it.</Description>
<SettingValues>
<CustomSettingValue>
<UserfriendlyName>Off</UserfriendlyName>
<HexValue>0x00000000</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>On - DLSS-FG overridden by latest available</UserfriendlyName>
<UserfriendlyName>On - DLSS-FG overridden by latest installed (${DlssgVersion})</UserfriendlyName>
<HexValue>0x00000001</HexValue>
</CustomSettingValue>
</SettingValues>
@@ -57,33 +82,34 @@
<HexSettingID>0x10E41DF3</HexSettingID>
<GroupName>5 - Common</GroupName>
<MinRequiredDriverVersion>0</MinRequiredDriverVersion>
<Description>NOTE: "DLSS - Forced Model Preset Profile" setting may need to be changed for this to apply on certain games.\r\nIf set, overrides the DLSS preset/model used across all quality levels (may not be desirable on some levels).</Description>
<SettingValues>
<CustomSettingValue>
<UserfriendlyName>N/A</UserfriendlyName>
<HexValue>0x00000000</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Preset A</UserfriendlyName>
<UserfriendlyName>Preset A (CNN)</UserfriendlyName>
<HexValue>0x00000001</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Preset B</UserfriendlyName>
<UserfriendlyName>Preset B (CNN)</UserfriendlyName>
<HexValue>0x00000002</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Preset C</UserfriendlyName>
<UserfriendlyName>Preset C (CNN)</UserfriendlyName>
<HexValue>0x00000003</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Preset D</UserfriendlyName>
<UserfriendlyName>Preset D (CNN)</UserfriendlyName>
<HexValue>0x00000004</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Preset E</UserfriendlyName>
<UserfriendlyName>Preset E (CNN)</UserfriendlyName>
<HexValue>0x00000005</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Preset F</UserfriendlyName>
<UserfriendlyName>Preset F (CNN)</UserfriendlyName>
<HexValue>0x00000006</HexValue>
</CustomSettingValue>
<CustomSettingValue>
@@ -99,19 +125,19 @@
<HexValue>0x00000009</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Preset J</UserfriendlyName>
<UserfriendlyName>Preset J (Transformer Gen 1)</UserfriendlyName>
<HexValue>0x0000000A</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Preset K</UserfriendlyName>
<UserfriendlyName>Preset K (Transformer Gen 1)</UserfriendlyName>
<HexValue>0x0000000B</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Preset L (unused)</UserfriendlyName>
<UserfriendlyName>Preset L (Transformer Gen 2)</UserfriendlyName>
<HexValue>0x0000000C</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Preset M (unused)</UserfriendlyName>
<UserfriendlyName>Preset M (Transformer Gen 2)</UserfriendlyName>
<HexValue>0x0000000D</HexValue>
</CustomSettingValue>
<CustomSettingValue>
@@ -123,7 +149,7 @@
<HexValue>0x0000000F</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Always use latest</UserfriendlyName>
<UserfriendlyName>Use recommended preset</UserfriendlyName>
<HexValue>0x00FFFFFF</HexValue>
</CustomSettingValue>
</SettingValues>
@@ -140,23 +166,23 @@
<HexValue>0x00000000</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Preset A</UserfriendlyName>
<UserfriendlyName>Preset A (CNN)</UserfriendlyName>
<HexValue>0x00000001</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Preset B</UserfriendlyName>
<UserfriendlyName>Preset B (CNN)</UserfriendlyName>
<HexValue>0x00000002</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Preset C</UserfriendlyName>
<UserfriendlyName>Preset C (CNN)</UserfriendlyName>
<HexValue>0x00000003</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Preset D</UserfriendlyName>
<UserfriendlyName>Preset D (Transformer Gen 1)</UserfriendlyName>
<HexValue>0x00000004</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Preset E (unused)</UserfriendlyName>
<UserfriendlyName>Preset E (Transformer Gen 1)</UserfriendlyName>
<HexValue>0x00000005</HexValue>
</CustomSettingValue>
<CustomSettingValue>
@@ -200,7 +226,7 @@
<HexValue>0x0000000F</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Always use latest</UserfriendlyName>
<UserfriendlyName>Use recommended preset</UserfriendlyName>
<HexValue>0x00FFFFFF</HexValue>
</CustomSettingValue>
</SettingValues>
@@ -466,11 +492,11 @@
<HexValue>0x00000041</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>66% (Quality)</UserfriendlyName>
<UserfriendlyName>66%</UserfriendlyName>
<HexValue>0x00000042</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>67%</UserfriendlyName>
<UserfriendlyName>67% (Quality)</UserfriendlyName>
<HexValue>0x00000043</HexValue>
</CustomSettingValue>
<CustomSettingValue>
@@ -751,11 +777,11 @@
<HexValue>0x00000041</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>66% (Quality)</UserfriendlyName>
<UserfriendlyName>66%</UserfriendlyName>
<HexValue>0x00000042</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>67%</UserfriendlyName>
<UserfriendlyName>67% (Quality)</UserfriendlyName>
<HexValue>0x00000043</HexValue>
</CustomSettingValue>
<CustomSettingValue>
@@ -1479,6 +1505,10 @@
<UserfriendlyName>10GB</UserfriendlyName>
<HexValue>0x00002800</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>16GB</UserfriendlyName>
<HexValue>0x00004000</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>100GB</UserfriendlyName>
<HexValue>0x00019000</HexValue>
@@ -1618,7 +1648,7 @@
<UserfriendlyName>SLI - CFR Mode</UserfriendlyName>
<HexSettingID>0x20343843</HexSettingID>
<GroupName>6 - SLI</GroupName>
<MaxRequiredDriverVersion>575.00</MaxRequiredDriverVersion> <!-- Removed between 511.79 and R575 -->
<MaxRequiredDriverVersion>575.00</MaxRequiredDriverVersion><!-- Removed between 511.79 and R575 -->
</CustomSetting>
<CustomSetting>
<UserfriendlyName>Ansel - Enabled</UserfriendlyName>
@@ -7446,7 +7476,7 @@
<UserfriendlyName>SLI - Compatibility Bits (OGL)</UserfriendlyName>
<HexSettingID>0x209746C1</HexSettingID>
<GroupName>1 - Compatibility</GroupName>
<MaxRequiredDriverVersion>511.78</MaxRequiredDriverVersion> <!-- Removed before 511.79 -->
<MaxRequiredDriverVersion>511.78</MaxRequiredDriverVersion><!-- Removed before 511.79 -->
<SettingValues/>
</CustomSetting>
<CustomSetting>
@@ -8128,6 +8158,23 @@
</SettingValues>
<SettingMasks/>
</CustomSetting>
<CustomSetting>
<UserfriendlyName>PhysX - Enable 32-bits GPU Acceleration (RTX 50)</UserfriendlyName>
<HexSettingID>0x5067ECC4</HexSettingID>
<MinRequiredDriverVersion>591.44</MinRequiredDriverVersion>
<GroupName>5 - Common</GroupName>
<SettingValues>
<CustomSettingValue>
<UserfriendlyName>Off</UserfriendlyName>
<HexValue>0x00000000</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>On</UserfriendlyName>
<HexValue>0x00000001</HexValue>
</CustomSettingValue>
</SettingValues>
<SettingMasks/>
</CustomSetting>
<CustomSetting>
<UserfriendlyName>Power Management - Mode</UserfriendlyName>
<HexSettingID>0x1057EB71</HexSettingID>
@@ -8204,7 +8251,7 @@
<UserfriendlyName>Multi-Display / Mixed-GPU Acceleration</UserfriendlyName>
<HexSettingID>0x200AEBFC</HexSettingID>
<GroupName>5 - Common</GroupName>
<MaxRequiredDriverVersion>511.78</MaxRequiredDriverVersion> <!-- Removed before 511.79 -->
<MaxRequiredDriverVersion>511.78</MaxRequiredDriverVersion><!-- Removed before 511.79 -->
<SettingValues>
<CustomSettingValue>
<UserfriendlyName>Single display performance mode</UserfriendlyName>
@@ -9024,3 +9071,12 @@
</CustomSetting>-->
</Settings>
</CustomSettingNames>

View File

@@ -1,3 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8.1"/></startup></configuration>

View File

@@ -570,6 +570,8 @@
this.txtFilter.Location = new System.Drawing.Point(0, 0);
this.txtFilter.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.txtFilter.Name = "txtFilter";
this.txtFilter.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.None;
this.txtFilter.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.None;
this.txtFilter.Size = new System.Drawing.Size(2118, 35);
this.txtFilter.TabIndex = 82;
this.txtFilter.WatermarkText = "Search for setting...";

View File

@@ -301,7 +301,7 @@ namespace nspector
var referenceSettings = DrsServiceLocator.ReferenceSettings?.Settings.FirstOrDefault(s => s.SettingId == settingid);
var description = settingMeta.Description;
var description = DlssHelper.ReplaceDlssVersions(settingMeta.Description);
if (!string.IsNullOrEmpty(settingMeta.AlternateNames))
description = $"Alternate names: {settingMeta.AlternateNames}\r\n{description}";
@@ -313,7 +313,7 @@ namespace nspector
}
else
{
tbSettingDescription.Text = description;
tbSettingDescription.Text = description.Replace("\\r\\n", "\r\n");
tbSettingDescription.Visible = true;
tbSettingDescription.BackColor = (referenceSettings?.HasConstraints ?? false) ? Color.LightCoral : SystemColors.Control;
}

View File

@@ -10,7 +10,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>nspector</RootNamespace>
<AssemblyName>nvidiaProfileInspector</AssemblyName>
<TargetFrameworkVersion>v4.8.1</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<PlatformTarget>x86</PlatformTarget>
<TargetFrameworkProfile />
@@ -136,6 +136,7 @@
<Compile Include="Common\DrsSessionScope.cs" />
<Compile Include="Common\DrsSettingsMetaService.cs" />
<Compile Include="Common\DrsUtil.cs" />
<Compile Include="Common\Helper\DlssHelper.cs" />
<Compile Include="Common\Helper\DropDownMenuScrollWheelHandler.cs" />
<Compile Include="Common\Helper\GithubVersionHelper.cs" />
<Compile Include="Common\Helper\ListViewGroupSorter.cs" />
@@ -231,7 +232,6 @@
<DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<None Include="app.config" />
<None Include="app.manifest">
<SubType>Designer</SubType>
</None>