Skip to content

Commit e3a74ce

Browse files
committed
Merge remote-tracking branch 'origin/dev-master'
# Conflicts: # Community Scripts/silent-install.ps1 # README.md
2 parents 2e1af84 + baa5a58 commit e3a74ce

10 files changed

Lines changed: 132 additions & 186 deletions

File tree

Community Scripts/changeres-VDD.ps1

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,10 @@ param(
44
[int]$xres,
55
[Parameter(Mandatory, Position=1)]
66
[Alias("Y","VerticalResolution")]
7-
[int]$yres
7+
[int]$yres,
8+
[Parameter(Mandatory, Position=2)]
9+
[Alias("id","displayIndex")]
10+
[int]$displayId
811
)
912

1013
# Self-elevate the script if required
@@ -21,7 +24,7 @@ if (-Not ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdent
2124
. "$PSScriptRoot\set-dependencies.ps1"
2225

2326
# Getting the correct display
24-
$disp = Get-DisplayInfo | Where-Object { $_.DisplayName -eq "VDD by MTT" }
27+
#$disp = Get-DisplayInfo | Where-Object { $_.DisplayName -eq "VDD by MTT" }
2528

2629
# Setting the resolution on the display
27-
Set-DisplayResolution -DisplayId $disp.DisplayId -Width $xres -Height $yres
30+
Set-DisplayResolution -DisplayId $displayId -Width $xres -Height $yres

Community Scripts/set-dependencies.ps1

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,11 @@ if (-not (Get-PSRepository -Name $repo.Name -ErrorAction SilentlyContinue)) {
2424
Set-PSRepository -Name $repo.Name -InstallationPolicy Trusted `
2525
-InformationAction Ignore -WarningAction SilentlyContinue
2626

27+
#import DisplayConfig
28+
Import-Module DisplayConfig
29+
#import MonitorConfig
30+
Import-Module MonitorConfig
31+
2732
# Loop through the modules and ensure they are imported & installed
2833
foreach ($m in $modules) {
2934

Community Scripts/silent-install.ps1

Lines changed: 82 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -11,47 +11,90 @@ param(
1111
);
1212

1313
# Create temp directory
14-
$tempDir = Join-Path $env:TEMP "VDDInstall";
14+
$tempDir = $PSScriptRoot;
1515
New-Item -ItemType Directory -Path $tempDir -Force | Out-Null;
1616

17-
# Download and unzip NefCon
18-
Write-Host "Downloading and extracting NefCon..." -ForegroundColor Cyan;
19-
$NefConZipPath = Join-Path $tempDir "nefcon.zip";
20-
Invoke-WebRequest -Uri $NefConURL -OutFile $NefConZipPath -UseBasicParsing -ErrorAction Stop;
21-
Expand-Archive -Path $NefConZipPath -DestinationPath $tempDir -Force -ErrorAction Stop;
22-
$NefConExe = Join-Path $tempDir "x64\nefconw.exe";
23-
24-
# Download and unzip VDD
25-
Write-Host "Downloading and extracting VDD..." -ForegroundColor Cyan;
26-
$driverZipPath = Join-Path $tempDir 'driver.zip';
27-
Invoke-WebRequest -Uri $DriverURL -OutFile $driverZipPath;
28-
Expand-Archive -Path $driverZipPath -DestinationPath $tempDir -Force;
29-
30-
# Extract the SignPath certificates
31-
Write-Host "Extracting SignPath certificates..." -ForegroundColor Cyan;
32-
$catFile = Join-Path $tempDir 'VirtualDisplayDriver\mttvdd.cat';
33-
$catBytes = [System.IO.File]::ReadAllBytes($catFile);
34-
$certificates = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2Collection;
35-
$certificates.Import($catBytes);
36-
37-
# Create the temp directory for certificates
38-
$certsFolder = Join-Path $tempDir "ExportedCerts";
39-
New-Item -ItemType Directory -Path $certsFolder -Force | Out-Null;
40-
41-
# Write and store the driver certificates on local machine
42-
Write-Host "Installing driver certificates on local machine." -ForegroundColor Cyan;
43-
foreach ($cert in $certificates) {
44-
$certFilePath = Join-Path -Path $certsFolder -ChildPath "$($cert.Thumbprint).cer";
45-
$cert.Export([System.Security.Cryptography.X509Certificates.X509ContentType]::Cert) | Set-Content -Path $certFilePath -Encoding Byte;
46-
Import-Certificate -FilePath $certFilePath -CertStoreLocation "Cert:\LocalMachine\TrustedPublisher";
17+
# nefcon not enable disable command,so...we keep this
18+
# Define path to devcon executable
19+
$devconExe = Join-Path $tempDir "devcon.exe";
20+
# Download and run DevCon Installer
21+
if (-not (Test-Path $devconExe))
22+
{
23+
$devconPath = Join-Path $tempDir "Devcon.Installer.exe";
24+
if (-not (Test-Path $devconPath))
25+
{
26+
Write-Host "Downloading DevCon..." -ForegroundColor Cyan;
27+
Invoke-WebRequest -Uri "https://github.com/Drawbackz/DevCon-Installer/releases/download/1.4-rc/Devcon.Installer.exe" -OutFile $devconPath;
28+
}
29+
Write-Host "Installing DevCon..." -ForegroundColor Cyan;
30+
Start-Process -FilePath $devconPath -ArgumentList "install -hash $DevconHash -update -dir `"$tempDir`"" -Wait -NoNewWindow;
31+
Write-Host "Installing DevCon Completed..." -ForegroundColor Cyan;
4732
}
4833

49-
# Install VDD
50-
Write-Host "Installing Virtual Display Driver silently..." -ForegroundColor Cyan;
51-
Push-Location $tempDir;
52-
& $NefConExe install .\VirtualDisplayDriver\MttVDD.inf "Root\MttVDD";
53-
Start-Sleep -Seconds 10;
54-
Pop-Location;
34+
# Define path to nefcon executable
35+
$NefConExe = Join-Path $tempDir "x64\nefconc.exe";
36+
# Download and run DevCon Installer
37+
if (-not (Test-Path $NefConExe))
38+
{
39+
$NefConZipPath = Join-Path $tempDir "nefcon.zip";
40+
# $devconPath = Join-Path $tempDir "Devcon.Installer.exe";
41+
if (-not (Test-Path $NefConZipPath))
42+
{
43+
Write-Host "Downloading NefCon..." -ForegroundColor Cyan;
44+
Invoke-WebRequest -Uri $NefConURL -OutFile $NefConZipPath -UseBasicParsing -ErrorAction Stop;
45+
}
46+
Write-Host "extracting NefCon..." -ForegroundColor Cyan;
47+
Expand-Archive -Path $NefConZipPath -DestinationPath $tempDir -Force -ErrorAction Stop;
48+
# Start-Process -FilePath $devconPath -ArgumentList "install -hash $DevconHash -update -dir `"$tempDir`"" -Wait -NoNewWindow;
49+
Write-Host "extracting NefCon Completed..." -ForegroundColor Cyan;
50+
}
51+
52+
# Check if VDD is installed. Or else, install it
53+
$check = & $NefConExe --find-hwid ---hardware-id "Root\MttVDD";
54+
if ($check -match "Virtual Display Driver") {
55+
Write-Host "Virtual Display Driver already present. No installation." -ForegroundColor Green;
56+
} else {
57+
# Extract the signPath certificates
58+
$catFile = Join-Path $tempDir 'VirtualDisplayDriver\mttvdd.cat';
59+
if (-not (Test-Path $catFile)){
60+
# Download and unzip VDD
61+
$driverZipPath = Join-Path $tempDir 'driver.zip';
62+
if (-not (Test-Path $driverZipPath))
63+
{
64+
Write-Host "Downloading VDD..." -ForegroundColor Cyan;
65+
Invoke-WebRequest -Uri $DriverURL -OutFile $driverZipPath;
66+
}
67+
Expand-Archive -Path $driverZipPath -DestinationPath $tempDir -Force;
68+
}
69+
70+
# Extract the SignPath certificates
71+
Write-Host "Extracting SignPath certificates..." -ForegroundColor Cyan;
72+
$signature = Get-AuthenticodeSignature -FilePath $catFile;
73+
$catBytes = [System.IO.File]::ReadAllBytes($catFile);
74+
$certificates = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2Collection;
75+
$certificates.Import($catBytes);
5576

56-
Write-Host "Driver installation completed." -ForegroundColor Green;
57-
Remove-Item -Path $tempDir -Recurse -Force -ErrorAction SilentlyContinue;
77+
# Create the temp directory for certificates
78+
$certsFolder = Join-Path $tempDir "ExportedCerts";
79+
if (-not (Test-Path $certsFolder))
80+
{
81+
New-Item -ItemType Directory -Path $certsFolder -Force | Out-Null;
82+
}
83+
# Write and store the driver certificates on local machine
84+
Write-Host "Installing driver certificates on local machine." -ForegroundColor Cyan;
85+
foreach ($cert in $certificates) {
86+
$certFilePath = Join-Path -Path $certsFolder -ChildPath "$($cert.Thumbprint).cer";
87+
$cert.Export([System.Security.Cryptography.X509Certificates.X509ContentType]::Cert) | Set-Content -Path $certFilePath -Encoding Byte;
88+
Import-Certificate -FilePath $certFilePath -CertStoreLocation "Cert:\LocalMachine\TrustedPublisher";
89+
}
90+
91+
# Install VDD
92+
Write-Host "Installing Virtual Display Driver silently..." -ForegroundColor Cyan;
93+
Push-Location $tempDir;
94+
& $NefConExe install .\VirtualDisplayDriver\MttVDD.inf "Root\MttVDD";
95+
Start-Sleep -Seconds 2;
96+
Pop-Location;
97+
98+
Write-Host "Driver installation completed." -ForegroundColor Green;
99+
}
100+
#Remove-Item -Path $tempDir -Recurse -Force -ErrorAction SilentlyContinue;

Community Scripts/silent-uninstall.ps1

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,12 @@ param(
55
);
66

77
# Create temp directory
8-
$tempDir = $PWD;
8+
$tempDir = $PSScriptRoot;
99
New-Item -ItemType Directory -Path $tempDir -Force | Out-Null;
1010
# Define path to devcon executable
1111
$devconExe = Join-Path $tempDir "devcon.exe";
12+
& $devconExe disable "Root\MttVDD";
13+
Start-Sleep -Seconds 2;
1214
& $devconExe remove "Root\MttVDD";
1315
Write-Host "Driver installation removed." -ForegroundColor Green;
1416

Community Scripts/vdd-install.bat

Lines changed: 15 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,33 @@
11
@echo off
2+
chcp 65001
23

3-
REM Retrieve from the registry
4-
for /f "delims=" %%i in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "DisplayVersion"') do set "DisplayVersion=%%i"
5-
echo window display version: %DisplayVersion%
4+
REM 以下两个命令需手动执行一次
65

7-
REM Take the content of the data section
8-
for %%a in (%DisplayVersion%) do set "version=%%a"
9-
echo version: %version%
10-
REM data from ====> https://github.com/Drawbackz/DevCon-Installer/blob/master/devcon_sources.json
11-
IF "%version%"=="23H2" set "WindowHash=C8FCE4377D8F0D184E5434F9EF1FE1EF9D0E34196A08CD7E5655555FABA21379"
12-
IF "%version%"=="22H2" set "WindowHash=4F0C165C58114790DB7807872DEBD99379321024DB6077F0ED79426CF9C05CA0"
13-
IF "%version%"=="21H2" set "WindowHash=FBD394E4407C6C334B933FF3A0D21A8E28F0EEDE0CFE5FB277287C3F994B5B00"
6+
REM 解除系统签名验证体系
7+
REM bcdedit -set loadoptions DISABLE_INTEGRITY_CHECKS
148

15-
echo window hash:%WindowHash%
9+
REM 设置系统进入测试模式
10+
REM bcdedit -set TESTSIGNING ON
1611

17-
REM Write our configuration directory to the registry
12+
REM 将我们的配置目录写入注册表
1813
rem install
19-
set "DRIVER_DIR=%~dp0\VirtualDisplayDriver"
14+
set "DRIVER_DIR=%~dp0VirtualDisplayDriver"
2015
echo driver directory:%DRIVER_DIR%
2116
rem Get root directory,current in the scripts directory.
2217
for %%I in ("%~dp0\..\..") do set "ROOT_DIR=%%~fI"
2318
set "CONFIG_DIR=%ROOT_DIR%\config"
2419
set "VDD_CONFIG=%CONFIG_DIR%\vdd_settings.xml"
2520
echo driver config path: %VDD_CONFIG%
26-
27-
REM It is always a good choice to copy configurations from the original directory to the configuration directory, whether for recovery or backup purposes
21+
REM 总是从原始目录中拷贝配置到配置目录,不管是用于恢复还是备份,都是不错的选择
2822
copy "%DRIVER_DIR%\vdd_settings.xml" "%VDD_CONFIG%"
29-
30-
REM The default read is the directory configured in the registry. We need to configure the directory in the registry
23+
REM 因为默认读的是注册表配置的目录,我们需要将注册表的目录配置一下
3124
reg add "HKLM\SOFTWARE\MikeTheTech\VirtualDisplayDriver" /v VDDPATH /t REG_SZ /d "%CONFIG_DIR%" /f
3225

33-
REM Install driver
34-
powershell.exe -ExecutionPolicy Bypass -File "silent-install.ps1" $WindowHash
26+
REM 安装具体的驱动
27+
powershell.exe -ExecutionPolicy Bypass -File "%~dp0silent-install.ps1"
3528

36-
REM After the initial installation, it should also be set to expand the display mode of these monitors
29+
REM 初次安装后,还应设置成扩展这些显示器的显示模式
3730
powershell -NoProfile -ExecutionPolicy Bypass -Command "& "C:\Windows\System32\DisplaySwitch.exe" /extend"
3831

39-
REM After installation, disable the display driver first
40-
powershell.exe -ExecutionPolicy Bypass -File "virtual-driver-manager.ps1" disable --silent true
41-
pause
32+
REM 安装后,先禁用显示驱动
33+
powershell.exe -ExecutionPolicy Bypass -File "%~dp0\virtual-driver-manager.ps1" disable --silent true

Community Scripts/vdd-modules_install.bat

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
@echo off
2+
chcp 65001
23

34
:: Use PowerShell for elevation check and execution
45
powershell -NoProfile -ExecutionPolicy Bypass -Command ^
Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
@echo off
2-
powershell.exe -ExecutionPolicy Bypass -File "silent-uninstall.ps1"
3-
pause
2+
chcp 65001
3+
4+
powershell.exe -ExecutionPolicy Bypass -File "%~dp0\silent-uninstall.ps1"

Community Scripts/virtual-driver-manager.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -390,7 +390,7 @@ finally {
390390
if (Test-Path $tempDir) {
391391
# This Write-Verbose message will not be visible without -Verbose, but is good practice.
392392
Write-Verbose "Cleaning up temporary directory: $tempDir"
393-
Remove-Item -Path $tempDir -Recurse -Force
393+
#Remove-Item -Path $tempDir -Recurse -Force
394394
}
395395
}
396396
}

README.md

Lines changed: 13 additions & 114 deletions
Original file line numberDiff line numberDiff line change
@@ -1,118 +1,17 @@
1-
# 🛠️ Virtual Display Driver Development Team
1+
#### Virtual Display for sunshine-super
22

3-
| 👤 Developer | 🏷️ Role | 💖 Support Us |
4-
| --------------------- | ----------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
5-
| **[MikeTheTech](https://github.com/itsmikethetech)** | Project Manager, Lead Programmer | [Patreon](https://www.patreon.com/mikethetech) :gem: / [GitHub Sponsors](https://github.com/sponsors/itsmikethetech/) 💖 |
6-
| **[Jocke](https://github.com/zjoasan)** | Programmer, Concept Design | [GitHub Sponsors ](https://github.com/sponsors/zjoasan) 💖 |
3+
#### changelog
74

8-
:bulb: *We appreciate your support—every contribution helps us keep building amazing experiences!*
5+
##### 1.0.26.021201
6+
1. update install scripts.
7+
2. merge from master.
8+
3. update changeres-VDD script.
99

10-
# <img src="https://github.com/user-attachments/assets/22ff37ba-a8ea-4b65-b7b2-e7fcb09d858b" height="32" width="32"></img> Virtual Display Driver
11-
This project creates a _virtual monitor_ in Windows that functions just like a physical display. It is particularly useful for applications such as **streaming, virtual reality, screen recording,** and **headless servers—systems** that operate without a physical display attached.
10+
##### 1.0.25.102701
11+
1. move script to child directory,like ./scripts/vdd/ .
12+
2. add set display mode script for extend.
13+
3. add set disable vdd after first setup.
1214

13-
Unlike traditional monitors, this virtual display supports custom resolutions and refresh rates beyond hardware limitations—offering greater flexibility for advanced setups. You can also use custom EDIDs to simulate or emulate existing hardware displays.
14-
15-
## 🧾 Changelog (recent)
16-
17-
- **PCI-bus based GPU selection (LUID)**: Improved multi-GPU render adapter selection by resolving an adapter **LUID from a PCI bus number** (more deterministic than name-only matching).
18-
- **Device/PCI-slot friendly naming**: Improved device identification / friendly naming using DeviceID and PCI slot info.
19-
- **GetIddCx helper tool**: Added source for the `GetIddCx` utility to query IddCx versions.
20-
- **EDID integration**: Added EDID integration support for custom/virtual monitor profiles.
21-
- **Performance optimization**: Driver performance improvements (various internal optimizations).
22-
23-
## ⬇️ Download Latest Version
24-
25-
- [Driver Installer (Windows 10/11)](https://github.com/VirtualDrivers/Virtual-Display-Driver/releases) - Check the [Releases](https://github.com/VirtualDrivers/Virtual-Display-Driver/releases) page for the latest version and release notes.
26-
- **Winget:** `winget install --id=VirtualDrivers.Virtual-Display-Driver -e`
27-
28-
> [!IMPORTANT]
29-
> Before using the Virtual Display Driver, ensure the following dependencies are installed:
30-
> - **Microsoft Visual C++ Redistributable**
31-
> If you encounter the error `vcruntime140.dll not found`, download and install the latest version from the [Microsoft Visual C++ Redistributable page](https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170).
32-
>
33-
> **Driver update safety:** If you're about to install **major GPU/chipset driver updates**, uninstall VDD first. If you get a black screen or display priority gets scrambled, boot into **Safe Mode** and uninstall VDD to recover.
34-
35-
36-
## 🛠️ Installation
37-
38-
- Step 1: Download the Virtual Driver Control app.
39-
- You can download the installer directly from the [Releases](https://github.com/VirtualDrivers/Virtual-Display-Driver/releases) page.
40-
41-
- Step 2: Extract to a folder and run the app
42-
- Launch the VDC.
43-
- Click the Install button.
44-
45-
- Step 3: Verify the Installation (Optional)
46-
- Check if the Virtual Display Driver is correctly installed by running the following:
47-
- **Device Manager:** Check "Device Manager" under "Display Adapters."
48-
- **Settings:** Check display settings under system settings and see if the virtual displays show.
49-
50-
While VDC is a good and friendly way to work with VDD, you can also do a a lot manually. Like adding or removing resolutions or enable/disable
51-
functions, which is done by editing vdd_settings.xml. You should be able to locate the file at the default location:
52-
```C:\VirtualDisplayDriver\vdd_settings.xml ```
53-
54-
For more information about manual installation, uninstallation and "personalization", please check out the [Wiki](https://github.com/VirtualDrivers/Virtual-Display-Driver/wiki) here on
55-
the project GitHub repository. If you are into tinkering, check out the Powershell scripts in [Community scripts](https://github.com/VirtualDrivers/Virtual-Display-Driver/tree/master/Community%20Scripts).
56-
57-
## 🤔 Comparison with other IDDs
58-
59-
The table below shows a comparison with other popular Indirect Display Driver
60-
projects.
61-
62-
| Project | Iddcx version | Signed | SDR | HDR | H-Cursor | Tweakable | ARM64 Support | Custom EDID | Floating Point Refresh Rates |
63-
| :--- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
64-
| [Virtual-Display-Driver (HDR)] | 1.10 (latest) || ✅ (8/10bit) | ✅ (1-/12bit) ||| ✅¹ |||
65-
| [usbmmid_v2] | || ✅ (8bit) | | | | | | |
66-
| [virtual-display-rs] | 1.5 | | ✅ (8bit) | ||| | | |
67-
| [parsec-vdd]| 1.5 || ✅ (8bit) | ||| | | |
68-
| [lddSampleDriver] | 1.2 | | ✅ (8bit) | | | | | | |
69-
| [RustDesklddDriver] | 1.2 | | ✅ (8bit) | | | | | | |
70-
71-
¹ ARM64 Support in Windows 11 24H2 or later may require test signing be enabled.
72-
73-
HDR Support Now Available for Windows 11 23H2+
74-
75-
## ▶️ Videos and Tutorials
76-
77-
### Installation Video
78-
79-
[![Thumbnail24 (1)](https://github.com/user-attachments/assets/383d840c-8327-439b-a89b-84b271320371)](https://youtu.be/jN5YnHlC0fE)
80-
81-
![Powerpoint](https://github.com/user-attachments/assets/9ac05776-36e1-4ba1-ac52-3f189dbd7730)
82-
83-
## 🤝 Sponsors
84-
85-
<table>
86-
<tr>
87-
<td><img src="https://github.com/user-attachments/assets/ca93d971-67dc-41dd-b945-ab4f372ea72a" /></td>
88-
<td>Free code signing on Windows provided by <a href="https://signpath.io">SignPath.io</a>, certificate by <a href="https://signpath.org">SignPath Foundation</a></td>
89-
</tr>
90-
</table>
91-
92-
<table>
93-
<tr>
94-
<td>Advanced 32bit IEEE Float Audio brought to you by **Lune Studios**.</td>
95-
</tr>
96-
</table>
97-
98-
## Acknowledgements
99-
100-
- Special thanks to **[@ye4241](https://github.com/ye4241)** for submitting the package to Microsoft (WinGet).
101-
102-
- Shoutout to **[MikeTheTech](https://github.com/itsmikethetech)** Project Manager, Owner, and Programmer
103-
- Shoutout to **[zjoasan](https://github.com/zjoasan)** Programmer. For scripts, EDID integration, and parts of installer.
104-
- Shoutout to **[Bud](https://github.com/bud3699)** Former Lead Programmer, has since left the project.
105-
- Shoutout to **[Roshkins](https://github.com/roshkins/IddSampleDriver)** for the original repo.
106-
- Shoutout to **[Baloukj](https://github.com/baloukj/IddSampleDriver)** for the 8-bit / 10-bit support. (Also, first to push the new Microsoft Driver public!)
107-
- Shoutout to **[Anakngtokwa](https://github.com/Anakngtokwa)** for assisting with finding driver sources.
108-
- **[Microsoft](https://github.com/microsoft/Windows-driver-samples/tree/master/video/IndirectDisplay)** Indirect Display Driver/Sample (Driver code)
109-
- Thanks to **[AKATrevorJay](https://github.com/akatrevorjay/edid-generator)** for the hi-res EDID.
110-
- Shoutout to **[LexTrack](https://github.com/lextrack/)** for the MiniScreenRecorder script.
111-
112-
## Star History
113-
114-
[![Star History Chart](https://api.star-history.com/svg?repos=VirtualDrivers/Virtual-Display-Driver&type=Date)](https://www.star-history.com/#VirtualDrivers/Virtual-Display-Driver&Date)
115-
116-
## Disclaimer:
117-
118-
This software is provided "AS IS" with NO IMPLICIT OR EXPLICIT warranty. It's worth noting that while this software functioned without issues on our systems, there is no guarantee that it will not impact your computer. It operates in User Mode(Session0), which reduces the likelihood of causing system instability, such as the Blue Screen of Death. However, exercise caution when using this software.
15+
##### 1.0.25.102401
16+
1. add vdd install and uninstall shell bat.
17+
2. optimize script make workspace is current directory.

0 commit comments

Comments
 (0)