Closed mcgov closed 1 year ago
Hi, if that failing wmic command is the cause of this bug maybe you could try install another github project of me here https://github.com/PietJankbal/Chocolatey-for-wine
It also installs quite some overhead you don`t need for running Waves really (like chocolatey, 7zip , net48 etc.) but it has a better wmic (and powershell) implementation so maybe it could work around the problem and then at least we would know what the cause of this bug is.
Install in a fresh prefix (that you can "throw away" afterwards) and then install Waves; does that change any behaviour?,
Giving it a shot now. While the installer is running:
Ah, no dice. 13.4.1 remains broken. The strange bit is that this wle.exe
program DOES return the correct text block if it's run from the commandline. Each of the methods Central tries to get the disk info does succeed when they're run in the shell, so now my suspicion is that it's something going wrong between Wine and Electron.
2022/12/27 13:15:10 [info] ElectronMainLiveProcess::start C:\Program Files\Waves Central\resources\res\external\bin\WavesLicenseEngine.bundle\Contents\Win64\exec\wle.exe sync --user XXXXXXXX --log C:\users\mows\AppData\Roaming\Waves Audio\Waves Central\Logs
2022/12/27 13:15:10 [info] LocalScanGetProducts::doGetProducts completed after 0.01s
2022/12/27 13:15:10 [info] CentralGetInstallableProducts::doGetProducts completed after 0.55s
2022/12/27 13:15:10 [error] Utils::tryParse failed parsing Problem calling GetDriveType on F:\
[{"device_id":"XXXXXXXXXXXXX","device_name":" (C:)","device_path":"C:\\","device_type":"comp","is_writable":"yes","license_folder_path":"C:\\ProgramData\\Waves Audio\\Licenses"}]
2022/12/27 13:15:10 [warning] ShellWle::getDevicesHelper has returned with no valid devices, will resort to using non-json method
2022/12/27 12:54:34 [error] ShellWle::getDevicesHelperFailSafe failed {"centralParsedError":true,"message":"spawn C:\\Program Files\\Waves Central\\resources\\res\\external\\bin\\WavesLicenseEngine.bundle\\Contents\\Win64\\exec\\wle.exe devices --report-writable --log \"C:\\users\\mows\\AppData\\Roaming\\Waves Audio\\Waves Central\\Logs\" ENOENT","stack":"Error: spawn C:\\Program Files\\Waves Central\\resources\\res\\external\\bin\\WavesLicenseEngine.bundle\\Contents\\Win64\\exec\\wle.exe devices --report-writable --log \"C:\\users\\mows\\AppData\\Roaming\\Waves Audio\\Waves Central\\Logs\" ENOENT\n at ChildProcess._handle.onexit (node:internal/child_process:283:19)\n at onErrorNT (node:internal/child_process:478:16)\n at process.processTicksAndRejections (node:internal/process/task_queues:83:21)"}
that bit of text (device id removed) is the expected output from wle.exe when it's supposed to output json.
[{"device_id":"XXXXXXXXXXXX","device_name":" (C:)","device_path":"C:\\","device_type":"comp","is_writable":"yes","license_folder_path":"C:\\ProgramData\\Waves Audio\\Licenses"}]
Hi
Is powershell supposed to launch in a ConEmu graphical window?
Not really, strange that that happens. The ConEmu window is invoked when powershell is called without a command, so might be a bug in the powershell wrapper.
I don`t have access to my machine with Waves atm so cannot test myself, but maybe you could run like WINEDEBUG=+process wine Waves Central.exe &>log and put the file "log" somewhere up or paste it here, maybe it reveals something (make sure you run up until the error occurs)
Hi, thanks for the log
Maybe it's due to :
CreateProcessInternalW app L"C:\windows\system32\WindowsPowershell\v1.0\powershell.exe" cmdline L"powe rshell.exe -noLogo -command \"ls -r \\"C:\users\mows\AppData\Local\Waves Audio\\" | measure -s Length | Select -ExpandP roperty Sum\""
Apparantly PowerShell Core fails on "measure -s Length", I get : Measure-Object: Parameter cannot be processed because the parameter name 's' is ambiguous. Possible matches include: -StandardDeviation -Sum.
This works fine in Powershell 5.1 though. So there's an incompability between PS51 and PowerShell Core.
Maybe just returning some fake value might help (???)
Could you try add pasting below code into c:\Program Files\Powershell7\7\profile.ps1 (just open that file with some editor and paste the code below)
Remove-Alias -Force measure
function measure {
$Length = 2323 Write-Host $Length }
If that doesn't help , another thing that you might try is just run with environment variable 'FAKESUCCESS=1'. Does that change anything?
I`ve reenabled some code to replace strings (incompatible commands) in the commandline fed to pwsh.exe
At least the command 'powershell.exe -noLogo -command "ls -r \"C:\users\mows\AppData\Local\Waves Audio\" | measure -s Length | Select -ExpandProperty Sum' should now work correctly with current version of powershell wrapper. Not sure if this fixes this issue, but hopefully an improvement
Awesome!
Unfortunately I had tried the profile.ps1 changes and it still fails. Something else seems to be broken, ConEmu popping a GUI is fishy. I had been able to install Waves Central previously by just installing powershell 6 and redirecting system32/WindowsPowerShell/v1.0/ to the new installation folder before and that is also broken with Central's latest.
I'm going to try to install on another machine or another Ubuntu installation on this machine. It's totally possible that this might be due to some other change on my machine.
Ok interesting, it is some issue with my installation of 22.04. A live disk with 20.04 doesn't reproduce the issue.
I'm going to refresh my 22.04 installation and see if this still reproduces. I must have tweaked something.
Welp! We can close this. So strange, no clue what broke. I backed up my home dir and reinstalled 22.04 and everything is looking good now. Thank you for your patience and time helping me out!
I think we don't need the full wrapper anymore just for Waves Central too. I have a bootleg-ey script to install and link pwsh.exe to powershell.exe; I'll clean it up and share if you're interested?
@PietJankbal interesting development:
I encountered this again and fixed it with another installation in a clean wineprefix. My theory is that this is related to Wine auto-scanning and adding drives to the wineprefix. I noted that on a clean installation there are two drives listed in winecfg and in .wineprefix/dosdevices: c: -> /home/me/.wineprefix d: -> /run/media/some_ssd d:: -> /dev/sdX
And on the older installation where Waves Central reports no drive is found, there are many more drives listed, e: f: h: i: etc. Some of them are stale links to drives that aren't mounted. My guess is this is the result of mounting flash drives, sd cards, mounting my NVME data disk, etc. while the wineserver is active. Anything that causes WINE to add a drive to the wineprefix over time. At some point this confuses Waves Central and will end up bugging things out to the point that it does not detect the drive that was used for the license, so you cannot install new plugins or remove licenses from the wineprefix.
If anyone else encounters this issue, reinstalling in a clean wineprefix should fix it as long as the drive that was mounted when you installed the previous installation is mounted. I'm not sure how Waves Central is determining which machine is which (drive serial number?) but reinstalling in a fresh wineprefix or saving a copy of the wineprefix after a successful installation should resolve the issue.
Waves Central was working for me as of 13.0. Central 13.4.1 runs and will install plugins but cannot find any connected devices to authorize the plugins. I've checked the last legacy installer available, Central v 12 sees the C:\ drive and allows you to load your licenses on it. The new release doesn't see any drives it can use for licensing, though plugins can install.
Ubuntu 22.04, latest kernel: 5.15.0-56-generic dpkg info for wine:
I was following the install procedure from: https://hackmd.io/@rauldipeas/waves-central in a fresh wineprefix.
In Central 13.4.1 no devices are available:
Also none in the settings panel:
Looking into the Waves-Central.log, the first thing I noted is that the electron app seems to be having trouble querying disk information based on the last few lines when performing an action that would refresh the device list. I noted them when pulling up the settings panel and selecting some plugins to install.
Do you have any tips for debugging this? Does this reproduce for you with the latest Central release?