It is currently May 29th, 2023, 9:32 pm

[BUG] SkinInstaller bug, 64bit plugins get installed on 32 bit Rainmeter on 64 bit Windows

Report bugs with the Rainmeter application and suggest features.
User avatar
Jeff
Posts: 288
Joined: September 3rd, 2018, 11:18 am

[BUG] SkinInstaller bug, 64bit plugins get installed on 32 bit Rainmeter on 64 bit Windows

Post by Jeff »

Sorry for the doozy title, if your Windows is 64 bit, but your Rainmeter install is 32 bit, SkinInstaller may install the 64 bit version of plugins.
We have had 2 reports on the Discord server:
    • A person having Portable Install
    • 64 bit Windows and 32 bit Rainmeter
    • They said they installed the 32 bit Rainmeter because "they didn't know how they chose that", when we told them to load a skin using the plugin, it was all 0s, the 0s usually mean the plugin is not loaded, however it was in the Plugins tab, but there was no error 126 in the Log when loading the skin. We fixed this by telling them to install Standard Install Rainmeter since their use case would have benefited that and to make sure the 64bit box is ticked. (After this they hit Cancel on the WebNowPlaying firewall thing and again "didn't know why they hit Cancel instead of Allow"). It worked after.
    • A person having Portable Install
    • 64 bit Windows and 32 bit Rainmeter
    • They couldn't install 64 bit Rainmeter because the Installer just didn't work (??????????), when we told them to check the Plugins tab for the installed ones, the plugins that were supposed to be installed with the SkinInstaller just weren't there (the example skin is Monstercat Visualizer, WebNowPlaying and Chameleon just weren't in the Plugins list), they even did the demo live, ticking the boxes, again there was also no error 126 in the Log loading the skin. We fixed this by telling them to install portable to a new folder and to check that 64 bit option, which was now tickable (and to copy the Skins folder over so they don't need to reinstall all the skins). It worked after.
So far our the only pattern visible is the Portable Install and people clicking randomly and wondering why stuff dosen't work.
Analyzing the code, this line and this line in the SkinInstaller's DialogInstall.cpp is responsible for choosing the bitness of the plugins, going deeper, these lines in Platform.cpp are responsible for getting the bitness used.
I hope all these instructions help!

EDIT: Tried to replicate it and I have noticed 2 things: 1. When you do Portable Install, the 64bit tick box is not ticked, what's why both users had that problem 2. Installing Portable on Windows Sandbox, 64 bit Windows, 32 bit Portable Rainmeter, the 64bit plugins are in the Plugins folder, they don't display in the Plugins tab and I get the "About Dialog - Incorrect bitness of plugin" error in the Log.