I’ve mentioned my idea of having a ‘custom installer’ than Shoes script writers could use when packaging a script or directory (aka .shy) Shoes would supply a simple custom installer or the user could add their own (after modifying the default, most likely).
I’ve just checked in an update to winject.rb into my github that does the hard part – copy a Windows.exe replacing the icons inside with different ones. I believe Linux and OSX will be almost easy when it comes to icons, so I started dealing with what is not easy – Our best-est friend Windows.
Time for a pretend FAQ: What is a (default) custom installer?
- It’s a Shoes script that runs before starting the real app. It is not an NSIS type of installer. It can’t tweak the Windows registry.
- It’s a Shoes script. It can do a lot. Do you have an populated sqlite3.db file in your .shy that to be able to be updated and have the updates persist across invocations of your app? A custom installer (a Shoes script) can copy your Shy contents to a permanent directory the user chooses and then make it look like its an app instead of a shoes script
- For Linux, it could create a menu entry with your icon to your app that uses the existing Shoes. Fewer marching ants in the terminal. That is all the motivation I need to do this.
- for OSX, it could create what looks like an App, with your icon
- For Windows, it could create an .exe with your icons. Users would have to create an alias if they want it in their menus or task bar.
- That sound’s like an real app! No, it’s not. It might look like one and that might be good enough.
- Do I have to create all platforms icons? If you use the default custom installer then Yes you do. A .png for Linux and icns set for OSX and .ico (set) for Windows. Why? Because Shoes is cross platform by default. You could write your own installer if it’s too much trouble.
Will this be in 3.2.19? Unless I run into roadblocks, yes.