This commit is contained in:
Brian Warren 2025-04-07 19:18:38 -05:00
parent a0c8a19a72
commit d636da7e6a
4 changed files with 116 additions and 117 deletions

View File

@ -9,7 +9,7 @@ param (
$comType, $comType,
[Parameter(Mandatory=$true)] [Parameter(Mandatory=$true)]
[ValidateSet('export', 'import', 'delete', 'createRegFiles')] [ValidateSet('query', 'import', 'delete', 'generate')]
[string] [string]
$action, $action,
@ -95,11 +95,11 @@ $progId = "$versionIndependentProgId.1";
switch ($action) { switch ($action) {
'createRegFiles' { 'generate' {
} }
'delete' { 'delete' {
} }
'export' { 'query' {
} }
'import' { 'import' {
if (!$comDir) { if (!$comDir) {
@ -163,16 +163,16 @@ try {
Write-Error "An error occurred trying to discover network path to COM server at $comPath" Write-Error "An error occurred trying to discover network path to COM server at $comPath"
} }
function Get-ClsidPaths { function Get-ClsidData {
param( param(
[Parameter(Mandatory=$true)] [Parameter(Mandatory=$false)]
[string] [string]
$architectureNode $architectureNode = '\'
) )
return @( return @(
@{ @{
Key = "\SOFTWARE\Classes$($architectureNode)CLSID\{$clsid}" Key = "\SOFTWARE\Classes$($architectureNode)CLSID\{$clsid}"
Values = @( ValueItems = @(
@{ @{
Name = '(default)' Name = '(default)'
Value = $classLabel Value = $classLabel
@ -185,7 +185,7 @@ function Get-ClsidPaths {
}, },
@{ @{
Key = "\SOFTWARE\Classes$($architectureNode)CLSID\{$clsid}\LocalServer32" Key = "\SOFTWARE\Classes$($architectureNode)CLSID\{$clsid}\LocalServer32"
Values = @( ValueItems = @(
@{ @{
Name = '(default)' Name = '(default)'
Value = $comPath Value = $comPath
@ -194,7 +194,7 @@ function Get-ClsidPaths {
}, },
@{ @{
Key = "\SOFTWARE\Classes$($architectureNode)CLSID\{$clsid}\ProgID" Key = "\SOFTWARE\Classes$($architectureNode)CLSID\{$clsid}\ProgID"
Values = @( ValueItems = @(
@{ @{
Name = '(default)' Name = '(default)'
Value = $progId Value = $progId
@ -203,11 +203,11 @@ function Get-ClsidPaths {
}, },
@{ @{
Key = "\SOFTWARE\Classes$($architectureNode)CLSID\{$clsid}\Programmable" Key = "\SOFTWARE\Classes$($architectureNode)CLSID\{$clsid}\Programmable"
Values = @() ValueItems = @()
}, },
@{ @{
Key = "\SOFTWARE\Classes$($architectureNode)CLSID\{$clsid}\TypeLib" Key = "\SOFTWARE\Classes$($architectureNode)CLSID\{$clsid}\TypeLib"
Values = @( ValueItems = @(
@{ @{
Name = '(default)' Name = '(default)'
Value = "{$typeLibId}" Value = "{$typeLibId}"
@ -216,7 +216,7 @@ function Get-ClsidPaths {
}, },
@{ @{
Key = "\SOFTWARE\Classes$($architectureNode)CLSID\{$clsid}\VersionIndependentProgID" Key = "\SOFTWARE\Classes$($architectureNode)CLSID\{$clsid}\VersionIndependentProgID"
Values = @( ValueItems = @(
@{ @{
Name = '(default)' Name = '(default)'
Value = $versionIndependentProgId Value = $versionIndependentProgId
@ -226,16 +226,16 @@ function Get-ClsidPaths {
) )
} }
function Get-InterfacePaths { function Get-InterfaceData {
param( param(
[Parameter(Mandatory=$true)] [Parameter(Mandatory=$false)]
[string] [string]
$architectureNode $architectureNode = '\'
) )
return @( return @(
@{ @{
Key = "\SOFTWARE\Classes$($architectureNode)Interface\{$interfaceId}" Key = "\SOFTWARE\Classes$($architectureNode)Interface\{$interfaceId}"
Values = @( ValueItems = @(
@{ @{
Name = '(default)' Name = '(default)'
Value = $interfaceName Value = $interfaceName
@ -244,7 +244,7 @@ function Get-InterfacePaths {
}, },
@{ @{
Key = "\SOFTWARE\Classes$($architectureNode)Interface\{$interfaceId}\ProxyStubClsid32" Key = "\SOFTWARE\Classes$($architectureNode)Interface\{$interfaceId}\ProxyStubClsid32"
Values = @( ValueItems = @(
@{ @{
Name = '(default)' Name = '(default)'
Value = "{$interfaceStubClsid}" Value = "{$interfaceStubClsid}"
@ -253,7 +253,7 @@ function Get-InterfacePaths {
}, },
@{ @{
Key = "\SOFTWARE\Classes$($architectureNode)Interface\{$interfaceId}\TypeLib" Key = "\SOFTWARE\Classes$($architectureNode)Interface\{$interfaceId}\TypeLib"
Values = @( ValueItems = @(
@{ @{
Name = '(default)' Name = '(default)'
Value = "{$typeLibId}" Value = "{$typeLibId}"
@ -266,7 +266,7 @@ function Get-InterfacePaths {
}, },
@{ @{
Key = "\SOFTWARE\Classes$($architectureNode)Interface\{$eventInterfaceId}" Key = "\SOFTWARE\Classes$($architectureNode)Interface\{$eventInterfaceId}"
Values = @( ValueItems = @(
@{ @{
Name = '(default)' Name = '(default)'
Value = $eventInterfaceName Value = $eventInterfaceName
@ -275,7 +275,7 @@ function Get-InterfacePaths {
}, },
@{ @{
Key = "\SOFTWARE\Classes$($architectureNode)Interface\{$eventInterfaceId}\ProxyStubClsid32" Key = "\SOFTWARE\Classes$($architectureNode)Interface\{$eventInterfaceId}\ProxyStubClsid32"
Values = @( ValueItems = @(
@{ @{
Name = '(default)' Name = '(default)'
Value = "{$eventInterfaceStubClsid}" Value = "{$eventInterfaceStubClsid}"
@ -284,7 +284,7 @@ function Get-InterfacePaths {
}, },
@{ @{
Key = "\SOFTWARE\Classes$($architectureNode)Interface\{$eventInterfaceId}\TypeLib" Key = "\SOFTWARE\Classes$($architectureNode)Interface\{$eventInterfaceId}\TypeLib"
Values = @( ValueItems = @(
@{ @{
Name = '(default)' Name = '(default)'
Value = "{$typeLibId}" Value = "{$typeLibId}"
@ -298,11 +298,11 @@ function Get-InterfacePaths {
) )
} }
function Get-ProgIdPaths { function Get-ProgIdData {
return @( return @(
@{ @{
Key = "\SOFTWARE\Classes\$versionIndependentProgId" Key = "\SOFTWARE\Classes\$versionIndependentProgId"
Values = @( ValueItems = @(
@{ @{
Name = '(default)' Name = '(default)'
Value = $classLabel Value = $classLabel
@ -311,7 +311,7 @@ function Get-ProgIdPaths {
}, },
@{ @{
Key = "\SOFTWARE\Classes\$versionIndependentProgId\CLSID" Key = "\SOFTWARE\Classes\$versionIndependentProgId\CLSID"
Values = @( ValueItems = @(
@{ @{
Name = '(default)' Name = '(default)'
Value = "{$clsid}" Value = "{$clsid}"
@ -320,7 +320,7 @@ function Get-ProgIdPaths {
}, },
@{ @{
Key = "\SOFTWARE\Classes\$versionIndependentProgId\CurVer" Key = "\SOFTWARE\Classes\$versionIndependentProgId\CurVer"
Values = @( ValueItems = @(
@{ @{
Name = '(default)' Name = '(default)'
Value = $progId Value = $progId
@ -329,7 +329,7 @@ function Get-ProgIdPaths {
} }
@{ @{
Key = "\SOFTWARE\Classes\$progId" Key = "\SOFTWARE\Classes\$progId"
Values = @( ValueItems = @(
@{ @{
Name = '(default)' Name = '(default)'
Value = $classLabel Value = $classLabel
@ -338,7 +338,7 @@ function Get-ProgIdPaths {
}, },
@{ @{
Key = "\SOFTWARE\Classes\$progId\CLSID" Key = "\SOFTWARE\Classes\$progId\CLSID"
Values = @( ValueItems = @(
@{ @{
Name = '(default)' Name = '(default)'
Value = "{$clsid}" Value = "{$clsid}"
@ -348,20 +348,20 @@ function Get-ProgIdPaths {
) )
} }
function Get-TypeLibPaths { function Get-TypeLibData {
param( param(
[Parameter(Mandatory=$true)] [Parameter(Mandatory=$false)]
[string] [string]
$architectureNode $architectureNode = '\'
) )
return @( return @(
@{ @{
Key = "\SOFTWARE\Classes$($architectureNode)TypeLib\{$typeLibId}" Key = "\SOFTWARE\Classes$($architectureNode)TypeLib\{$typeLibId}"
Values = @() ValueItems = @()
}, },
@{ @{
Key = "\SOFTWARE\Classes$($architectureNode)TypeLib\{$typeLibId}\$typeLibVersion" Key = "\SOFTWARE\Classes$($architectureNode)TypeLib\{$typeLibId}\$typeLibVersion"
Values = @( ValueItems = @(
@{ @{
Name = '(default)' Name = '(default)'
Value = $typeLibLabel Value = $typeLibLabel
@ -370,11 +370,11 @@ function Get-TypeLibPaths {
}, },
@{ @{
Key = "\SOFTWARE\Classes$($architectureNode)TypeLib\{$typeLibId}\$typeLibVersion\0" Key = "\SOFTWARE\Classes$($architectureNode)TypeLib\{$typeLibId}\$typeLibVersion\0"
Values = @() ValueItems = @()
}, },
@{ @{
Key = "\SOFTWARE\Classes$($architectureNode)TypeLib\{$typeLibId}\$typeLibVersion\0\win32" Key = "\SOFTWARE\Classes$($architectureNode)TypeLib\{$typeLibId}\$typeLibVersion\0\win32"
Values = @( ValueItems = @(
@{ @{
Name = '(default)' Name = '(default)'
Value = $comNetworkPath Value = $comNetworkPath
@ -383,7 +383,7 @@ function Get-TypeLibPaths {
}, },
@{ @{
Key = "\SOFTWARE\Classes$($architectureNode)TypeLib\{$typeLibId}\$typeLibVersion\FLAGS" Key = "\SOFTWARE\Classes$($architectureNode)TypeLib\{$typeLibId}\$typeLibVersion\FLAGS"
Values = @( ValueItems = @(
@{ @{
Name = '(default)' Name = '(default)'
Value = '0' Value = '0'
@ -392,7 +392,7 @@ function Get-TypeLibPaths {
}, },
@{ @{
Key = "\SOFTWARE\Classes$($architectureNode)TypeLib\{$typeLibId}\$typeLibVersion\HELPDIR" Key = "\SOFTWARE\Classes$($architectureNode)TypeLib\{$typeLibId}\$typeLibVersion\HELPDIR"
Values = @( ValueItems = @(
@{ @{
Name = '(default)' Name = '(default)'
Value = "$comDir\" Value = "$comDir\"
@ -402,11 +402,11 @@ function Get-TypeLibPaths {
) )
} }
function Get-Paths { function Get-Data {
param( param(
[Parameter(Mandatory=$false)] [Parameter(Mandatory=$false)]
[switch] [switch]
$bothArchitectures = $false $includeWrongArchitecturePaths = $false
) )
if ($env:PROCESSOR_ARCHITECTURE -eq 'x86') { if ($env:PROCESSOR_ARCHITECTURE -eq 'x86') {
@ -416,53 +416,30 @@ function Get-Paths {
} }
$paths = New-Object System.Collections.Generic.List[System.Object] $paths = New-Object System.Collections.Generic.List[System.Object]
$paths.AddRange((Get-ProgIdPaths)) $paths.AddRange((Get-ProgIdData))
$paths.AddRange((Get-ClsidPaths -architectureNode $wow6432Node)) $paths.AddRange((Get-ClsidData -architectureNode $wow6432Node))
$paths.AddRange((Get-InterfacePaths -architectureNode $wow6432Node)) if ($includeWrongArchitecturePaths -and $wow6432Node -ne '\') {
$paths.AddRange((Get-TypeLibPaths -architectureNode $wow6432Node)) $paths.AddRange((Get-ClsidData))
}
$paths.AddRange((Get-InterfaceData -architectureNode $wow6432Node))
if ($wow6432Node -ne '\') { if ($wow6432Node -ne '\') {
if ($bothArchitectures) { $paths.AddRange((Get-InterfaceData))
$paths.AddRange((Get-ClsidPaths -architectureNode $wow6432Node)) }
} $paths.AddRange((Get-TypeLibData -architectureNode $wow6432Node))
$paths.AddRange((Get-InterfacePaths -architectureNode '\')) if ($wow6432Node -ne '\') {
$paths.AddRange((Get-TypeLibPaths -architectureNode '\')) $paths.AddRange((Get-TypeLibData))
} }
return $paths return $paths
} }
function Read-Registry {
$paths = Get-Paths -bothArchitectures
foreach ($path in $paths) {
$path = "$($hiveShort):\$($path.Key)"
try {
$foundKey = Get-Item -Path $path -ErrorAction Stop
}
catch {
Write-Warning "Failed to find $path"
continue
}
$pathShort = $foundKey.PSPath -replace '^.*::', ''
Write-Host
Write-Host $pathShort
$itemProperty = Get-ItemProperty -Path $foundKey.PSPath
if (!$itemProperty) {
continue
}
foreach ($property in $itemProperty.PSObject.Properties) {
Write-Host "$($property.Name)=$property.Value"
}
}
}
switch ($action) { switch ($action) {
'delete' { 'delete' {
$paths = Get-Paths -bothArchitectures $data = Get-Data -includeWrongArchitecturePaths
foreach ($path in $paths) { foreach ($dataEntry in $data) {
$path = "$($hiveShort):\$($path.Key)" $path = "$($hiveShort):\$($dataEntry.Key)"
try { try {
$foundKey = Get-Item -Path $path -ErrorAction Stop Remove-Item -Path $path -Recurse -Force -ErrorAction Stop
#Remove-Item -Path $path -Recurse -Force Write-Information "Deleted registry key: $path"
Write-Information "Deleted registry key: $foundKey"
} }
catch { catch {
Write-Error "Failed to find $path" Write-Error "Failed to find $path"
@ -471,38 +448,59 @@ switch ($action) {
} }
} }
'import' { 'import' {
$paths = Get-Paths $data = Get-Data
foreach ($path in $paths) { foreach ($dataEntry in $data) {
$path = "$($hiveShort):\$($path.Key)" $path = "$($hiveShort):\$($dataEntry.Key)"
try { try {
# $newKey = New-Item -Path $keyEl.Key -Force New-Item -Path $path -Force -ErrorAction Stop
$newKey = Get-Item -Path $path -ErrorAction Stop Write-Information "Imported key: $path"
Write-Information "Imported key: $newKey"
} }
catch { catch {
Write-Error "Failed to import key: $path" Write-Error "Failed to import key: $path"
continue continue
} }
foreach ($value in $key.Values) { foreach ($valueItem in $dataEntry.ValueItems) {
try { try {
#$newItem = New-ItemProperty -Path $key.Key -Name $value.Name -Value $value.Value -PropertyType 'String' -Force New-ItemProperty -Path $path -Name $valueItem.Name -Value $valueItem.Value -PropertyType 'String' -Force -ErrorAction Stop
#Write-Information "Imported value: $newItem" Write-Information "Imported value: $($valueItem.Name) in $path"
Write-Information "Imported value: $($value.Name) in $($key.Key)"
} }
catch { catch {
Write-Error "Failed to create entry: $($value.Name) in $($key.Key)" Write-Error "Failed to create entry: $($valueItem.Name) in $path"
continue continue
} }
} }
} }
} }
'export' { 'query' {
Read-Registry $data = Get-Data -includeWrongArchitecturePaths
foreach ($dataEntry in $data) {
$path = "$($hiveShort):\$($dataEntry.Key)"
try {
$foundKey = Get-Item -Path $path -ErrorAction Stop
}
catch {
Write-Warning "Failed to find $path"
continue
}
$pathShort = $foundKey.PSPath -replace '^.*::', ''
Write-Host
Write-Host $pathShort
$itemProperty = Get-ItemProperty -Path $path
if (!$itemProperty) {
continue
}
foreach ($property in $itemProperty.PSObject.Properties) {
if ($property.Name.StartsWith('PS')) {
continue
}
Write-Host "$($property.Name)=$($property.Value)"
}
}
} }
'createRegFiles' { 'generate' {
$outFileAdd = "$appName-add.reg" $outFileAdd = "$appName-add.reg"
$outFileDel = "$appName-del.reg" $outFileDel = "$appName-del.reg"
$paths = Get-Paths $data = Get-Data
if (Test-Path $outFileAdd) { if (Test-Path $outFileAdd) {
try { try {
Remove-Item -Path $outFileAdd -ErrorAction Stop Remove-Item -Path $outFileAdd -ErrorAction Stop
@ -514,12 +512,12 @@ switch ($action) {
} }
Write-Output 'Windows Registry Editor Version 5.00' > $outFileAdd Write-Output 'Windows Registry Editor Version 5.00' > $outFileAdd
Write-Output 'Windows Registry Editor Version 5.00' > $outFileDel Write-Output 'Windows Registry Editor Version 5.00' > $outFileDel
foreach ($pathItem in $paths) { foreach ($dataEntry in $data) {
$path = "$($hive)$($pathItem.Key)" $path = "$($hive)$($dataEntry.Key)"
Write-Output '' >> $outFileAdd Write-Output '' >> $outFileAdd
Write-Output "[$path]" >> $outFileAdd Write-Output "[$path]" >> $outFileAdd
Write-Output "[-$path]" >> $outFileDel Write-Output "[-$path]" >> $outFileDel
foreach ($valueItem in $pathItem.Values) { foreach ($valueItem in $dataEntry.ValueItems) {
if ($valueItem.Name -eq '(default)') { if ($valueItem.Name -eq '(default)') {
$name = '@' $name = '@'
} else { } else {

View File

@ -53,22 +53,6 @@ Windows Registry Editor Version 5.00
@="{FB2C3447-9D8D-4AD0-9234-A163505FC3AE}" @="{FB2C3447-9D8D-4AD0-9234-A163505FC3AE}"
"Version"="1.0" "Version"="1.0"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\TypeLib\{FB2C3447-9D8D-4AD0-9234-A163505FC3AE}]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\TypeLib\{FB2C3447-9D8D-4AD0-9234-A163505FC3AE}\1.0]
@="QWDevice 1.0 Type Library"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\TypeLib\{FB2C3447-9D8D-4AD0-9234-A163505FC3AE}\1.0\0]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\TypeLib\{FB2C3447-9D8D-4AD0-9234-A163505FC3AE}\1.0\0\win32]
@="C:\\temp\\ua\\UA-SUITE\\39.1.3\\UAGRDEV\\6.0-cute\\uagrdevs.exe"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\TypeLib\{FB2C3447-9D8D-4AD0-9234-A163505FC3AE}\1.0\FLAGS]
@="0"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\TypeLib\{FB2C3447-9D8D-4AD0-9234-A163505FC3AE}\1.0\HELPDIR]
@="C:\\temp\\ua\\UA-SUITE\\39.1.3\\UAGRDEV\\6.0-cute\\"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{D178FEAC-4969-45B4-92BF-4582EA5C6F47}] [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{D178FEAC-4969-45B4-92BF-4582EA5C6F47}]
@="IQWDev" @="IQWDev"
@ -89,6 +73,22 @@ Windows Registry Editor Version 5.00
@="{FB2C3447-9D8D-4AD0-9234-A163505FC3AE}" @="{FB2C3447-9D8D-4AD0-9234-A163505FC3AE}"
"Version"="1.0" "Version"="1.0"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\TypeLib\{FB2C3447-9D8D-4AD0-9234-A163505FC3AE}]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\TypeLib\{FB2C3447-9D8D-4AD0-9234-A163505FC3AE}\1.0]
@="QWDevice 1.0 Type Library"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\TypeLib\{FB2C3447-9D8D-4AD0-9234-A163505FC3AE}\1.0\0]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\TypeLib\{FB2C3447-9D8D-4AD0-9234-A163505FC3AE}\1.0\0\win32]
@="C:\\temp\\ua\\UA-SUITE\\39.1.3\\UAGRDEV\\6.0-cute\\uagrdevs.exe"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\TypeLib\{FB2C3447-9D8D-4AD0-9234-A163505FC3AE}\1.0\FLAGS]
@="0"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\TypeLib\{FB2C3447-9D8D-4AD0-9234-A163505FC3AE}\1.0\HELPDIR]
@="C:\\temp\\ua\\UA-SUITE\\39.1.3\\UAGRDEV\\6.0-cute\\"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{FB2C3447-9D8D-4AD0-9234-A163505FC3AE}] [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{FB2C3447-9D8D-4AD0-9234-A163505FC3AE}]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{FB2C3447-9D8D-4AD0-9234-A163505FC3AE}\1.0] [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{FB2C3447-9D8D-4AD0-9234-A163505FC3AE}\1.0]

View File

@ -16,18 +16,18 @@ Windows Registry Editor Version 5.00
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\Interface\{FDE206D5-EB3E-4DB1-AC3E-6CF314417443}] [-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\Interface\{FDE206D5-EB3E-4DB1-AC3E-6CF314417443}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\Interface\{FDE206D5-EB3E-4DB1-AC3E-6CF314417443}\ProxyStubClsid32] [-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\Interface\{FDE206D5-EB3E-4DB1-AC3E-6CF314417443}\ProxyStubClsid32]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\Interface\{FDE206D5-EB3E-4DB1-AC3E-6CF314417443}\TypeLib] [-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\Interface\{FDE206D5-EB3E-4DB1-AC3E-6CF314417443}\TypeLib]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\TypeLib\{FB2C3447-9D8D-4AD0-9234-A163505FC3AE}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\TypeLib\{FB2C3447-9D8D-4AD0-9234-A163505FC3AE}\1.0]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\TypeLib\{FB2C3447-9D8D-4AD0-9234-A163505FC3AE}\1.0\0]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\TypeLib\{FB2C3447-9D8D-4AD0-9234-A163505FC3AE}\1.0\0\win32]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\TypeLib\{FB2C3447-9D8D-4AD0-9234-A163505FC3AE}\1.0\FLAGS]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\TypeLib\{FB2C3447-9D8D-4AD0-9234-A163505FC3AE}\1.0\HELPDIR]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{D178FEAC-4969-45B4-92BF-4582EA5C6F47}] [-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{D178FEAC-4969-45B4-92BF-4582EA5C6F47}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{D178FEAC-4969-45B4-92BF-4582EA5C6F47}\ProxyStubClsid32] [-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{D178FEAC-4969-45B4-92BF-4582EA5C6F47}\ProxyStubClsid32]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{D178FEAC-4969-45B4-92BF-4582EA5C6F47}\TypeLib] [-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{D178FEAC-4969-45B4-92BF-4582EA5C6F47}\TypeLib]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{FDE206D5-EB3E-4DB1-AC3E-6CF314417443}] [-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{FDE206D5-EB3E-4DB1-AC3E-6CF314417443}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{FDE206D5-EB3E-4DB1-AC3E-6CF314417443}\ProxyStubClsid32] [-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{FDE206D5-EB3E-4DB1-AC3E-6CF314417443}\ProxyStubClsid32]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{FDE206D5-EB3E-4DB1-AC3E-6CF314417443}\TypeLib] [-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{FDE206D5-EB3E-4DB1-AC3E-6CF314417443}\TypeLib]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\TypeLib\{FB2C3447-9D8D-4AD0-9234-A163505FC3AE}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\TypeLib\{FB2C3447-9D8D-4AD0-9234-A163505FC3AE}\1.0]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\TypeLib\{FB2C3447-9D8D-4AD0-9234-A163505FC3AE}\1.0\0]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\TypeLib\{FB2C3447-9D8D-4AD0-9234-A163505FC3AE}\1.0\0\win32]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\TypeLib\{FB2C3447-9D8D-4AD0-9234-A163505FC3AE}\1.0\FLAGS]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WOW6432Node\TypeLib\{FB2C3447-9D8D-4AD0-9234-A163505FC3AE}\1.0\HELPDIR]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{FB2C3447-9D8D-4AD0-9234-A163505FC3AE}] [-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{FB2C3447-9D8D-4AD0-9234-A163505FC3AE}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{FB2C3447-9D8D-4AD0-9234-A163505FC3AE}\1.0] [-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{FB2C3447-9D8D-4AD0-9234-A163505FC3AE}\1.0]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{FB2C3447-9D8D-4AD0-9234-A163505FC3AE}\1.0\0] [-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{FB2C3447-9D8D-4AD0-9234-A163505FC3AE}\1.0\0]

View File

@ -1,4 +1,5 @@
Windows Registry Editor Version 5.00 Windows Registry Editor Version 5.00
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\QSRDevice.QSRDev] [-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\QSRDevice.QSRDev]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\QSRDevice.QSRDev\CLSID] [-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\QSRDevice.QSRDev\CLSID]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\QSRDevice.QSRDev\CurVer] [-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\QSRDevice.QSRDev\CurVer]