There's been a couple reports of RTools having a really random issue that shows up specifically when you run the program; the program brings up the "What Version" window, then doesn't do anything and seems to just quit.
The issue has been localized to a program that I use in relation to the creation of RTools releases, and 64-bit versions of Windows. RTools itself is written in Java, and Java programs, by default, produce files that end in '.jar' when setup to be a runnable application. If you check, though, you'll see that RTools uses the '.exe' extension, which is many times more common for programs.
Early in development, I decided to use what's called a "wrapper program" on RTools; this program takes the .jar program and wraps it in a .exe file. The primary reason is so that Windows treats RTools like a normal program, instead of .jar, which can be mistaken for an archive file. There's a few extra benefits to this:
- The wrapper checks if Java exists on the computer, and gives you the option to download it through the program if you haven't already.
- The wrapper obfuscates the program code. Unobfuscated .jar files can be decompiled with relative ease, to the point where people can read the code I've written; this can go much further, to where someone could copy all the code without my knowledge and released as a new program.
This wrapper program has a slight issue, however, in that the program doesn't make the created .exe program in a way that is compatible with 64-bit versions of Windows. This actually made trying to find this issue more difficult, as the first time I experimented with this issue on a 64-bit Windows 7 machine, I was working through the development environment I was coding in to try to isolate the problem, and as such was not working with release (.exe) program under the wrapper.
I'm currently looking through a couple options for fixing this; the three immediate options in my mind are:
- Find a new .exe wrapper program that is 64-bit compatible
- Obfuscate the Java program and release a .jar program instead of a .exe
- Do the same as above, but also release a custom .exe program (in C++) that does nothing but launches the obfuscated RTools .jar. (the upside being that nothing changes in how a person finds and uses the program, the downside being that updating would slightly more complicated)
There will be a 1.0.1 update when this is done which fixes this issue. This issue will also be fed into the 1.1 update.
Sidenote: The way things look right now, there would be too many questions and issues in regards to setting up the EPIC (Event Personal Information Center) code until I can setup a personal server to run this back-end stuff. As a result, I'm probably leaving EPIC out of the 1.1 release, instead releasing 1.1 as an update to the seating visuals, some new utilities, and a bugfix rollup.
No comments:
Post a Comment