It is currently December 7th, 2023, 6:22 am

[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: 314
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 »

Fixed with this commit

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.
Last edited by Jeff on July 21st, 2023, 2:17 pm, edited 1 time in total.
User avatar
Brian
Developer
Posts: 2655
Joined: November 24th, 2011, 1:42 am
Location: Utah

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

Post by Brian »

Sorry it took so long to get to this. This bug was introduced in Rainmeter version 4.5.15, and it has been fixed for the next release.

Thank you for your detailed bug reported, it helped me narrow down the issue quickly!

-Brian
User avatar
Jeff
Posts: 314
Joined: September 3rd, 2018, 11:18 am

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

Post by Jeff »

https://github.com/rainmeter/rainmeter/commit/dc6dd4c2d3ad105197859f686c90218b36e247bf#diff-e04b33e502c3be1e20e7d54fd9a2c97f07fc34fca7ca1b3bb425329a9f76c917R26-R34

I love how the solution was removing the stuff used from Platform.cpp and just forcing the compiler to do the job, just incredibly simple and does the job

Marked the thread as resolved.
User avatar
Jeff
Posts: 314
Joined: September 3rd, 2018, 11:18 am

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

Post by Jeff »

Hello, was this accidentally omitted in the 4.5.18 patch notes? I know it's live because of the commit so no worries there, it's just missing from the list lol
No need to respond, whoever sees these can stealthy change the patch notes (and probably delete this message so the post goes down the list so other important posts stay at the top)
User avatar
Brian
Developer
Posts: 2655
Joined: November 24th, 2011, 1:42 am
Location: Utah

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

Post by Brian »

Yeah, it was missed. It should be fixed now.

Thanks!

-Brian