PDA

View Full Version : Cannot import string resource for language 1033. Language file not available.



Peter Gysegem
08-02-2015, 09:01 AM
When I try to make a change in the settings for any setup file, I get the above error. When I looked in C:\Program Files (x86)\Lindersoft\SetupBuilder 8 Developer\Language, I see that English (US).lng is present but when I look in Tools > Options and on the Languages tab, I see that is is looking for C:\Program Files\Lindersoft\SetupBuilder 8 Developer\Language without the (x86). However the built-in compiler variable [SB] points correctly to the folder in C:\Program Files (x86). When I click on the English (US).lng file on that Languages tab and click the Details button, I get the following message:

Error: Cannot load language file 1033. Language file C:\Program Files\Lindersoft\SetupBuilder 8 Developer\Language\English (US).lng
Please note that write access to the language file is required in order to load it.

Two things: 1) SB is looking in the wrong place and 2) Even if was looking in the right place, I am pretty sure that my 64-bit Windows 8.1 does not like files under c:\Program Files (x86) to be opened in a writable mode.

I cannot find anywhere to change the folder where SB is looking for language files. I have searched the registry and all instances where a SB folder is referenced, it is the correct one.

This is SetupBuilder 8.5.4754 Developer edition. Despite the errors, the setup files appear to compile okay.

linder
08-03-2015, 02:27 AM
Peter,

The "Program Files" folder is NOT hard-coded in SetupBuilder. It retrieves the value directly from the Windows OS.

So if you see "Program Files" instead of "Program Files (x86)" on your Windows 8.1 64-bit operating system then it's caused by one of the following:

1. You copied the sb8.lic from a 32-bit OS to a 64-bit OS.

2. You copied the SB8 environment from a 32-bit OS to a 64-bit OS.

3. Your OS returned an incorrect value for the Program Files folder.

But IMO, it's 1. or 2. in your case ;) The built-in compiler variable [SB] retrieves the value at IDE runtime, but in global settings it is set when you install the product. Because [SB] points correctly to the folder in C:\Program Files (x86) it's not caused by 3.

See attached screenshot from a clean Windows 8.1 x64 machine.

BTW, the language files are core SetupBuilder files (like the common include scripts) and so they are write protected. If you need to make changes to core files, you have to start the IDE elevated. This is the correct and expected behavior. Only SetupBuilder updates should make changes to core files. When you do a SB update next time, modified core files will be overwritten.

To fix this, close the IDE and delete "sb8.lic" (Users\JoeUser\AppData\Roaming\Lindersoft\SetupBui lder 8). Then re-start the IDE.

Does this help?

Friedrich