Thanks a lot for the links and the alternative icons for tileset files!
I think it would be a nice if these custom icons could be associated with the files regardless of whether Tiled was installed using the MSI installer or just extracted from a .zip. I found out it’s possible to set these values through QSettings (though not system-wide since it would need privileges, but I think per user would be enough).
If I understood that right, the following code should work for this:
QSettings reg("HKEY_CURRENT_USER\\SOFTWARE\\Classes", QSettings::NativeFormat);
SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, NULL, NULL);
This would then need to be connected to some checkbox in the preferences that sets/removes this entry from the registry.
Then I’m just a little undecided whether Tiled should do this by default or wait for the user to enable it. In the past I’ve noticed a lot of applications asking on startup, but I’d rather avoid that. Maybe a nice solution would be to display a kind of banner on the startup screen for it (similar to “make this your default browser”). And of course when it detects that it is being run from a different directory, this key will need to get updated.