Gostev wrote: ↑May 05, 2022 5:58 pm
You're yet again talking about changing the build number of the installed software
Hi @Gostev,
Perhaps we're talking at cross purposes... you're currently putting this numbering scheme 'Major.Minor.Point.Build' into the registry. I'm suggesting 'Major.Minor.Point.Build.Patch' (patch = the yyyymmdd from the P release). You're changing the installed software (but keeping the same build), thus it's correct to use and increment the patch section of the DisplayVersion string.
I'm not talking about changing the
build number, I'm talking about adding / incrementing the Patch section which comes after the Build number section.
Gostev wrote: ↑May 05, 2022 5:58 pm
as we already established many times, a hot fix simply cannot do this
We've not established that at all. An installer, which is how you're applying the P releases certainly can set a registry entry. Even if you were installing your P rollups using only something basic like a batch file, the registry entry could still be set.
Gostev wrote: ↑May 05, 2022 5:58 pm
A hot fix merely replaces some of the binary files of the already installed software with updated files.
If it can write new executables, DLLs, and image files to disk I'm sure it's capable of writing a registry entry. I'd be willing to bet ££££ that Veeam have already published at least one hotfix / P rollup which writes a registry entry.
Here's a statement by a Veeam product manager in another thread which confirms Veeam hotfixes already can include registry changes.
Vitaliy S. wrote: ↑Oct 13, 2015 10:11 pm
Yes, the hotfix includes this registry key as well as other minor fixes for issues reported by other users.
veeam-one-f28/veeam-one-alert-performan ... 30403.html
As Egor has demonstrated - P rollups are already writing this info in 'Major.Minor.Point.Build Pyyyymmdd' format into wherever this is stored,
Code: Select all
Get-CIMInstance -Namespace Root\VeeamBS -classname BackupServer |Select-Object -Property DisplayVersion
and this includes the information you're saying you can't write to the DisplayVersion string in the uninstall entry in the registry.
Based on the code Egor kindly provided, an approximate of some code to do this right now would be
Code: Select all
$DisplayVersionWithDot = (Get-CIMInstance -Namespace Root\VeeamBS -classname BackupServer |Select-Object -Property DisplayVersion).DisplayVersion.Replace(" P",".")
Set-ItemProperty -Path "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Veeam Backup & Replication" -Name "DisplayVersion" -Value "$DisplayVersionWithDot" -Force
I hope we can agree that Veeam's P rollup installers would be capable of running this code. Obviously it would make sense to do this properly in the installer rather than call PowerShell afterwards. I'm just demonstrating that the thing you're saying
Gostev wrote: ↑May 05, 2022 5:58 pma hot fix simply cannot do
can be done.
Given Veeam are capable of writing amazing software, I think writing one registry value during a P rollup installation is something your Dev team would find boringly easy to do.
At this point, I already have a way forward in getting the data I need written to the registry via the above code. Thanks @Egor!
I'm still going to suggest that it would be an improvement is Veeam would set the DisplayVersion of the uninstall entry to 'Major.Minor.Point.Build.Patch'. If you're absolutely convinced this can't / shouldn't be done, then we're going to have to agree to disagree and I'll use the code above to set the DisplayVersion of the uninstall entry to 'Major.Minor.Point.Build.Patch' which will work perfectly.
Thanks