I understood where the problem is! First I turned on the MSI protocol for the MSI installer file:
msiexec /i Xamarin.VisualStudio_3.9.289.msi /l*vc:\Users\%USERNAME%\Documents\xamarin-vs-msi.log
And searched for Return Value 3 (action not completed):
MSI (s) (F8:64) [08:31:41:884]: Unexpected or missing value (name: 'PackageName', value: '') in key 'HKLM\Software\Classes\Installer\Products\371D35B64B9A7994980A677C62256FDE\SourceList'
As you can see, the problem is the input key in my registry, I deleted it, and then installed the MSI installer:
'HKLM\Software\Classes\Installer\Products\371D35B64B9A7994980A677C62256FDE\SourceList'
source share