update base, inst

refactor get dll and exe path
This commit is contained in:
onyx-and-iris 2022-01-08 16:07:02 +00:00
parent 0e756871e1
commit acbc2c52cc
2 changed files with 12 additions and 19 deletions

View File

@ -16,12 +16,9 @@ Function Setup_DLL {
throw [VBPathError]::new("ERROR: Couldn't get Voicemeeter path")
}
else {
if([Environment]::Is64BitOperatingSystem) {
$dll = Join-Path -Path $vb_path -ChildPath "VoicemeeterRemote64.dll"
}
else {
$dll = Join-Path -Path $vb_path -ChildPath "VoicemeeterRemote.dll"
}
$dll = Join-Path -Path $vb_path -ChildPath ("VoicemeeterRemote" + `
(&{If([Environment]::Is64BitOperatingSystem) {"64"} Else {""}}) + `
".dll")
}
}
catch [VBPathError] {
@ -29,6 +26,9 @@ Function Setup_DLL {
return $false
}
$Signature = @"
[DllImport(@"$dll")]
public static extern int VBVMR_Login();

View File

@ -1,15 +1,8 @@
Function Get_VBPath {
@(
'Registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall',
'Registry::HKEY_LOCAL_MACHINE\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall'
) | ForEach-Object {
if(Test-Path -Path $_) {
(Get-ChildItem -Path $_\*) | ForEach-Object {
if($_.Name.Contains("Voicemeeter")) {
$reg = -join("Registry::", $_.Name)
return $(Get-ItemPropertyValue -Path $reg -Name UninstallString | Split-Path -Parent)
}
}
}
}
$reg_path = "Registry::HKEY_LOCAL_MACHINE\Software" + `
(&{If([Environment]::Is64BitOperatingSystem) {"\WOW6432Node"} Else {""}}) + `
"\Microsoft\Windows\CurrentVersion\Uninstall"
$vm_key = "\VB:Voicemeeter {17359A74-1236-5467}\"
return $(Get-ItemPropertyValue -Path ($reg_path + $vm_key) -Name UninstallString | Split-Path -Parent)
}