diff --git a/IddSampleDriver/Driver.cpp b/IddSampleDriver/Driver.cpp
index 234d2a0..472d1bd 100644
--- a/IddSampleDriver/Driver.cpp
+++ b/IddSampleDriver/Driver.cpp
@@ -408,7 +408,7 @@ const BYTE IndirectDeviceContext::s_KnownMonitorEdid[] =
0x90,0x2C,0x11,0x00,0x00,0x1E,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x6E */
-
+
0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x31, 0xD8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x05, 0x16, 0x01, 0x03, 0x6D, 0x32, 0x1C, 0x78, 0xEA, 0x5E, 0xC0, 0xA4, 0x59, 0x4A, 0x98, 0x25,
0x20, 0x50, 0x54, 0x00, 0x00, 0x00, 0xD1, 0xC0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
@@ -416,7 +416,7 @@ const BYTE IndirectDeviceContext::s_KnownMonitorEdid[] =
0x45, 0x00, 0xF4, 0x19, 0x11, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x4C, 0x69, 0x6E,
0x75, 0x78, 0x20, 0x23, 0x30, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xFD, 0x00, 0x3B,
0x3D, 0x42, 0x44, 0x0F, 0x00, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xFC,
- 0x00, 0x4C, 0x69, 0x6E, 0x75, 0x78, 0x20, 0x46, 0x48, 0x44, 0x0A, 0x20, 0x20, 0x20, 0x00, 0x05
+ 0x00, 0x4C, 0x69, 0x6E, 0x75, 0x78, 0x20, 0x46, 0x48, 0x44, 0x0A, 0x20, 0x20, 0x20, 0x00, 0x05
};
diff --git a/IddSampleDriver/VDDInstaller/VDDInstaller.sln b/IddSampleDriver/VDDInstaller/VDDInstaller.sln
new file mode 100644
index 0000000..4c0ca53
--- /dev/null
+++ b/IddSampleDriver/VDDInstaller/VDDInstaller.sln
@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.7.34031.279
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VDDInstaller", "VDDInstaller\VDDInstaller.csproj", "{E8075462-A258-4E08-B264-C19E73346A65}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {E8075462-A258-4E08-B264-C19E73346A65}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {E8075462-A258-4E08-B264-C19E73346A65}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {E8075462-A258-4E08-B264-C19E73346A65}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {E8075462-A258-4E08-B264-C19E73346A65}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {343958A1-D703-4337-B5C3-F5F34AD62980}
+ EndGlobalSection
+EndGlobal
diff --git a/IddSampleDriver/VDDInstaller/VDDInstaller/Form1.Designer.cs b/IddSampleDriver/VDDInstaller/VDDInstaller/Form1.Designer.cs
new file mode 100644
index 0000000..949f185
--- /dev/null
+++ b/IddSampleDriver/VDDInstaller/VDDInstaller/Form1.Designer.cs
@@ -0,0 +1,144 @@
+namespace VDDInstaller
+{
+ partial class Form1
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ button1 = new Button();
+ button2 = new Button();
+ label1 = new Label();
+ label2 = new Label();
+ label3 = new Label();
+ comboBox1 = new ComboBox();
+ label4 = new Label();
+ SuspendLayout();
+ //
+ // button1
+ //
+ button1.Location = new Point(149, 91);
+ button1.Name = "button1";
+ button1.Size = new Size(129, 23);
+ button1.TabIndex = 0;
+ button1.Text = "Install Certificate";
+ button1.UseVisualStyleBackColor = true;
+ button1.Click += button1_Click;
+ //
+ // button2
+ //
+ button2.Location = new Point(149, 149);
+ button2.Name = "button2";
+ button2.Size = new Size(129, 23);
+ button2.TabIndex = 1;
+ button2.Text = "Install Driver";
+ button2.UseVisualStyleBackColor = true;
+ button2.Click += button2_Click;
+ //
+ // label1
+ //
+ label1.AutoSize = true;
+ label1.ForeColor = SystemColors.ButtonHighlight;
+ label1.Location = new Point(101, 95);
+ label1.Name = "label1";
+ label1.Size = new Size(42, 15);
+ label1.TabIndex = 2;
+ label1.Text = "Step 1:";
+ label1.TextAlign = ContentAlignment.MiddleRight;
+ //
+ // label2
+ //
+ label2.AutoSize = true;
+ label2.ForeColor = SystemColors.Control;
+ label2.Location = new Point(101, 124);
+ label2.Name = "label2";
+ label2.Size = new Size(42, 15);
+ label2.TabIndex = 3;
+ label2.Text = "Step 2:";
+ label2.TextAlign = ContentAlignment.MiddleRight;
+ //
+ // label3
+ //
+ label3.AutoSize = true;
+ label3.ForeColor = SystemColors.Control;
+ label3.Location = new Point(101, 153);
+ label3.Name = "label3";
+ label3.Size = new Size(42, 15);
+ label3.TabIndex = 5;
+ label3.Text = "Step 3:";
+ label3.TextAlign = ContentAlignment.MiddleRight;
+ //
+ // comboBox1
+ //
+ comboBox1.FlatStyle = FlatStyle.Popup;
+ comboBox1.FormattingEnabled = true;
+ comboBox1.Items.AddRange(new object[] { "1 Virtual Display", "2 Virtual Displays", "3 Virtual Displays", "4 Virtual Displays", "5 Virtual Displays" });
+ comboBox1.Location = new Point(149, 121);
+ comboBox1.Name = "comboBox1";
+ comboBox1.RightToLeft = RightToLeft.No;
+ comboBox1.Size = new Size(129, 23);
+ comboBox1.TabIndex = 6;
+ comboBox1.SelectedIndexChanged += comboBox1_SelectedIndexChanged;
+ //
+ // label4
+ //
+ label4.AutoSize = true;
+ label4.Location = new Point(96, 24);
+ label4.Name = "label4";
+ label4.Size = new Size(38, 15);
+ label4.TabIndex = 7;
+ label4.Text = "label4";
+ label4.Click += label4_Click;
+ //
+ // Form1
+ //
+ AutoScaleDimensions = new SizeF(7F, 15F);
+ AutoScaleMode = AutoScaleMode.Font;
+ BackColor = Color.FromArgb(40, 40, 40);
+ ClientSize = new Size(290, 184);
+ Controls.Add(label4);
+ Controls.Add(comboBox1);
+ Controls.Add(label3);
+ Controls.Add(label2);
+ Controls.Add(label1);
+ Controls.Add(button2);
+ Controls.Add(button1);
+ Name = "Form1";
+ Text = "VDD Assisted Installer";
+ ResumeLayout(false);
+ PerformLayout();
+ }
+
+ #endregion
+
+ private Button button1;
+ private Button button2;
+ private Label label1;
+ private Label label2;
+ private Label label3;
+ private ComboBox comboBox1;
+ private Label label4;
+ }
+}
\ No newline at end of file
diff --git a/IddSampleDriver/VDDInstaller/VDDInstaller/Form1.cs b/IddSampleDriver/VDDInstaller/VDDInstaller/Form1.cs
new file mode 100644
index 0000000..242560e
--- /dev/null
+++ b/IddSampleDriver/VDDInstaller/VDDInstaller/Form1.cs
@@ -0,0 +1,64 @@
+using System.Diagnostics;
+
+namespace VDDInstaller
+{
+ public partial class Form1 : Form
+ {
+ public Form1()
+ {
+ InitializeComponent();
+ }
+
+ private void button2_Click(object sender, EventArgs e)
+ {
+ var proc = new ProcessStartInfo();
+ proc.UseShellExecute = true;
+ proc.WorkingDirectory = @"C:\Windows\System32";
+ proc.FileName = @"C:\Windows\System32\hdwwiz.exe";
+ proc.Verb = "runas";
+ try
+ {
+ Process.Start(proc);
+ Console.WriteLine("Successfully elevated!");
+ }
+ catch (Exception)
+ {
+ Console.WriteLine("Failed to elevate.");
+ }
+ }
+
+ private void button1_Click(object sender, EventArgs e)
+ {
+ String command = @"C:\IddSampleDriver\installCert.bat";
+ var proc = new ProcessStartInfo();
+ proc.UseShellExecute = true;
+ proc.WorkingDirectory = @"C:\Windows\System32";
+ proc.FileName = @"cmd.exe";
+ proc.Verb = "runas";
+ proc.Arguments = "/c " + command;
+
+
+ try
+ {
+ Process.Start(proc);
+ Console.WriteLine("Successfully elevated!");
+ }
+ catch (Exception)
+ {
+ Console.WriteLine("Failed to elevate.");
+ }
+ }
+
+ private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
+ {
+
+ label4.Text = comboBox1.Text;
+
+ }
+
+ private void label4_Click(object sender, EventArgs e)
+ {
+
+ }
+ }
+}
\ No newline at end of file
diff --git a/IddSampleDriver/VDDInstaller/VDDInstaller/Form1.resx b/IddSampleDriver/VDDInstaller/VDDInstaller/Form1.resx
new file mode 100644
index 0000000..af32865
--- /dev/null
+++ b/IddSampleDriver/VDDInstaller/VDDInstaller/Form1.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/IddSampleDriver/VDDInstaller/VDDInstaller/Program.cs b/IddSampleDriver/VDDInstaller/VDDInstaller/Program.cs
new file mode 100644
index 0000000..c96afc1
--- /dev/null
+++ b/IddSampleDriver/VDDInstaller/VDDInstaller/Program.cs
@@ -0,0 +1,17 @@
+namespace VDDInstaller
+{
+ internal static class Program
+ {
+ ///
+ /// The main entry point for the application.
+ ///
+ [STAThread]
+ static void Main()
+ {
+ // To customize application configuration such as set high DPI settings or default font,
+ // see https://aka.ms/applicationconfiguration.
+ ApplicationConfiguration.Initialize();
+ Application.Run(new Form1());
+ }
+ }
+}
\ No newline at end of file
diff --git a/IddSampleDriver/VDDInstaller/VDDInstaller/VDDInstaller.csproj b/IddSampleDriver/VDDInstaller/VDDInstaller/VDDInstaller.csproj
new file mode 100644
index 0000000..b57c89e
--- /dev/null
+++ b/IddSampleDriver/VDDInstaller/VDDInstaller/VDDInstaller.csproj
@@ -0,0 +1,11 @@
+
+
+
+ WinExe
+ net6.0-windows
+ enable
+ true
+ enable
+
+
+
\ No newline at end of file