Closed ccoupe closed 8 years ago
I've been beating my head on this for a couple of days. Before I continue the punishment, I should seek help. @BackOrder - did you build numinoes.exe with your own nsis script? Did you replace lib/shoes.rb with your own code? Does numinoes.exe work on a brand new Win 10?
I've decided this really isn't a cross platform thing and doesn't really belong in Shoes. It uses Shoes so I've created a new project https://github.com/Shoes3/exe-shoes
I may give up on this and just change packager to not do allow a full repack for Windows or pretend you can hide Shoes from end users.
@ccoupe I actually did it. Unfortunately, need to extract code to send you and time being in an issue...
The code at https://github.com/Shoes3/exe-shoes does work (well enough for most folks). No need to install the dev tools and build your own Shoes just to use it for a Windows platform - works in Win 10, too!
I might play with this idea some more. Merge user app and ~/.shoes/walkabout/ and create a deb/rpm/... on Linux/ that installs in ~/.userappname/ or wherever the set the install dir to. Even into system dir's like .deb (et all) can do. Loose Shoes couldn't do this unless we can detect they built -load-relative
On osx it's really it's the same merge as Linux and Windows but it creates OSX dpkg and and the funky drag this icon into the /Applications" graphic.
For Shoes, this is complete. Very custom installers can be built on the platform the user is running.
This a just proposal, mostly for Windows folk who want to build an app.exe from their Shoes script and hide that Shoes was used. This akin to the older HacketyHack method. It's mostly a Windows thing. It's not the pack for any platform from any platform that we try to support currently. Full repack, none of that downloaded if needed fun.
The Developer would have to have Shoes installed (as Shoes, in the normal place on Windows) and they would have have installed the proper NSIS version. If they need gems then those should be installed in their Shoes. They would need their own icons and background images it they want want to use the default NSIS installer script. Or they could write their own NSIS script.
This could be an additional Cobbler screen or a different packaging screen or it could be be script driven only,
Basically this a copy/merge/update. It would copy the current Ruby in their installed Shoes, merge the gems in their Appdata\local\shoes\ into the new Ruby. A very minimal Shoes would be copied (no static/ manual stuff, no packaging scripts , or IRB or other or fluff the end user can't use. A very minimal shoes.rb will be created which calls their script Change names and icons to fit NSIS rules and the winject/exerb rules
This can be done by any ruby & nsis script writer willing to learn and work with what already exists. The only tricky part is copying the users gems into the destination Ruby so that Shoes.setup isn't needed. That code exists.
In fact, I'm not even this belongs in Shoes. Just write a Shoes to do those things if you need a GUI.