64 Bit builds with Sisulizer – You’re Speaking my Language?

Yes, I promised to continue English for Dummies, I will do so somewhere next week. Remember, I am a Software Developer, bits and bytes are my life… In this post I will share how I created a 64 bit build of our File Viking program with Sisu.

Developers Only

For most Windows programs a 64 bit build means totally nothing. The size of pointers in our programs (and thus memory usage) will double. If your 32 bit program is not memory hungry (2GB is enough), there is no real reason to support 64 bit Windows, your 32 bit program will run fine on Win64 in most cases.

OK, our File Viking is a special case. One of its optional functions is to integrate with Windows Explorer (add a menu entry and detect Drag & Drop) and for this “the number of bits” (32 or 64) must correspond to the Operating System. We really need a 64 bit version of our software.

Marketeers Only

Do you have a 64 bit build of your program? In the next few years, the market will be moving to “64”, is your software ready? Even now, your customer installs your 32 bit program on Win64, he will immediately notice it is installed in the legacy corner of Windows:

C:\Program Files (x86)\My Program\

Show them you are ready for this century, have a 64 bit build of your software…

Sisulizer supports 64 Bit Software

Unlike other Translation Tools, Sisulizer is Ready for “64”. When we tried to create a 64 bit build, we were happily surprised Sisu translated the exe to 64 bit without any issue. Well, maybe one, see this forum post.

mmm, adding the 64 bit version of the .exe (and lots of DLLs) to the Sisulizer .slp file seems a bit weird as it already has “the same” 32 bit versions…. What we did instead was to change our build script a bit. Before copying the files to the “build directory”, it changes the Sisulizer .SLP file to have a new “source directory” (the binaries to translate). This way, our translator only needs to translate the 32 bit builds, the 64 bit builds are “magically” created as well.

rem prepare sisu file for 64bit
del "E:\cpp\FileViking64.slp"
change.exe "E:\cpp\FileViking.slp" "E:\cpp\FileViking64.slp" bin\Win32\Release bin\x64\Release

rem run sisulizer (translates to F:\File Viking Localized Output)
"E:\cpp\File Viking\FileViking64.slp"
rem obviously, you can also use slmake if you have the Enterprise Sisu

Future

I am sure the Sisulizer developers will implement a better, automatic, solution for this soon. Multiple operating systems are something we have to deal with now.

Leave a Reply