poidasmith / winrun4j

WinRun4J Java Application Launcher
http://winrun4j.sourceforge.net
212 stars 63 forks source link

Linux version of rcedit.exe? #91

Open bdw429s opened 5 years ago

bdw429s commented 5 years ago

The instructions show how to manually modify the exe on Windows with the rcedit.exe tool, but how do I perform these same modifications as part of an automated build on a Linux server?

nigredo-tori commented 5 years ago

@bdw429s , you can run it with Wine. I don't think we need to put effort into making a fundamentally Windows-centric tool cross-platform where there is a reasonably simple workaround. Also, depending on what you're doing, you're probably going to need a proper Windows instance later on anyway, if not for distribution (WiX has some issues with Wine, last I heard) then at least for testing.

bdw429s commented 5 years ago

@nigredo-tori I don't know what it takes to use Wine, but to be honest it doesn't sound "reasonably simple". I don't want to use an exe on LInux, I simply want to automate the part of my build that generates exe files for my Windows users. My project's build script needs to run on any environment. That means Windows users need to be able to run a build that creates deb packages, and vice versa-- a Mac/*nix user should be able to run my build and generate exe artifacts. rcedit.exe is not an acceptable solution for creating and tweaking the exe file since it makes the assumption that my build server will always be Windows. Note other products such as Launch4J are capable of creating exe files on any OS.

nigredo-tori commented 5 years ago

@nigredo-tori I don't know what it takes to use Wine, but to be honest it doesn't sound "reasonably simple".

> sudo apt-get install wine64
> wine rcedit.exe <arguments>

That's about it, IIRC. Eliminating a single dependency doesn't really warrant digging into the low-level details.

a Mac/*nix user should be able to run my build and generate exe artifacts.

They would be (as far as this project is concerned), at the cost of installing a package. Which is peanuts when we're talking about crossbuilding.

Note other products such as Launch4J are capable of creating exe files on any OS.

From what I can gather, Launch4J requires windres from mingw-binutils, which makes it about the same.

To sum it up, it's probably possible to rewrite rcedit as some script/Java wrapper over windres, but that'll obviously take some doing, and I don't think it is worth the trouble.

bdw429s commented 5 years ago

Thanks for the replies. I'll try and look into Wine for this if the other blockers I reported get resolved.