Thread: [GD-Windows] InstallShield Japanese
Brought to you by:
vexxed72
From: Ivan-Assen I. <as...@ha...> - 2002-10-13 19:02:37
|
Hello, does anyone have experience building installers with InstallShield for CJK languages? I'm banging my head for several days against a seemingly solid wall trying to make an installer which places shortcuts with Japanese names in the Start Menu. (things like "Uninstall Celtic Kings" and "Play Celtic Kings Online with GameSpy Arcade") We've done our other installers with InstallShield 6.1; but it, as well as its updated brethren 6.3 and 7.0 Professional, don't seem to know a thing about Unicode, and seem to use only the "A" versions of the Windows API functions (dealing with narrow, singlebyte characters), even when coupled with a East Language Pack. InstallShield 7 Developer, which is a completely different beast, based on Windows Installer technology, seems to handle at least multibyte Japanese encodings, but has a ton of other problems (heck, the damn thing couldn't even install a shortcut for ITSELF properly). I'm extremely frustrated, and if we weren't something like a couple of weeks behind on the Japanese goldmaster, I would think about patching the whole thing heavily with C++ DLLs. Any help? regards, Assen |
From: Ben C. <be...@gu...> - 2002-10-13 22:51:27
|
On Sunday, October 13, 2002, 7:38:36 PM, someone wrote: [snip] > I'm extremely frustrated, and if we weren't something like > a couple of weeks behind on the Japanese goldmaster, I would > think about patching the whole thing heavily with C++ DLLs. > Any help? Most Japanese applications simply pass Shift-JIS characters to the standard single-byte APIs - this is obviously a massive hack, but it's the way things have worked since Windows 3.1 (IIRC), and there are a vast body of apps out there that work like this. I'd suggest simply trying that (entering SJIS whereever you put the shortcut names), and seeing what happens. Of course, if you're testing this on an English version of Windows you'll need to set the "language for non-Unicode applications" (in Regional Settings) to Japanese to get it to work, but that's pretty common with Japanese-language apps. I'm pretty sure that's what 99% of the Japanese apps I've seen do - I definitely remember that the majority don't install shortcuts correctly (you either get mangled names or no shortcuts at all) when the default languages are set to English - implying that unicode wasn't really involved anywhere ^-^;. If you are really stuck I can have a brief hunt and see if I haven't got a Japanese Installshield app lying around that I can verify this behaviour with. -- Ben Carter - Neko Technologies - be...@gu... http://www.neko-tech.com/ - http://www.absoluteterror.com/ ---------------------------------PGP Key available on request--- "Broken mirror, a million shades of light, the old echo fades away. But just you and I can find the answer, and then we can run to the end of the world." - Small of two pieces, Xenogears |
From: Pierre T. <p.t...@wa...> - 2002-10-14 09:50:21
|
I'm running Win98 / VC 6.0, and WM_MOUSEWHEEL seems not to be defined after I include winuser.h. (it's protected by some #ifdef checking various Windows versions - which seem to fail on my system). Now, if I define : #define WM_MOUSEWHEEL 0x020A (and other relevant ones), everything works as expected. Is it normal ? What's the story with those defines for various Windows versions ? Am I supposed to define one myself before including winuser.h ? Or did I miss something ? Thanks, Pierre |
From: Dirk R. <ri...@ph...> - 2002-10-14 10:05:34
|
Its protected by these defines to help you define a minimum version you require. Without any define your target is still Win95 and when you explicitely define a minimum version you get all the features of this version. There is no autodetection going on inside the windows headers. Dirk -----Original Message----- From: gam...@li... [mailto:gam...@li...]On Behalf Of Pierre Terdiman Sent: Monday, October 14, 2002 11:48 AM To: gam...@li... Subject: [GD-Windows] Mouse wheel I'm running Win98 / VC 6.0, and WM_MOUSEWHEEL seems not to be defined after I include winuser.h. (it's protected by some #ifdef checking various Windows versions - which seem to fail on my system). Now, if I define : #define WM_MOUSEWHEEL 0x020A (and other relevant ones), everything works as expected. Is it normal ? What's the story with those defines for various Windows versions ? Am I supposed to define one myself before including winuser.h ? Or did I miss something ? Thanks, Pierre ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Gamedevlists-windows mailing list Gam...@li... https://lists.sourceforge.net/lists/listinfo/gamedevlists-windows Archives: http://sourceforge.net/mailarchive/forum.php?forum_id=555 |
From: Jon W. <hp...@mi...> - 2002-10-14 17:54:55
|
> Is it normal ? What's the story with those defines for various Windows > versions ? Am I supposed to define one myself before including winuser.h ? > Or did I miss something ? There's a number of #defines you can set to tell the headers that you're targeting various versions of Windows. WIN32_LEAN_AND_MEAN has been a favourite, and WINVER is the "master control" for what version of Windows you're targeting. The whole "what controls came with which version of Windows or Internet Explorer and how can I check for them and install them in my installer" thing is rather annoying, to say the least. To install the later stuff, you need the Windows Installer -- but the earlier systems don't even have *THAT* installed, and the installer redistributable requires a reboot to become effective. Bah! With something as simple as a mesasge constant, you're safe, though, as that message just won't get sent to you on earlier versions, so that switch case won't get hit. No compatibility worries there (unless you require mousewheel for accessing needed functionality in your program). You probably also want to go to the Windows developer download page on MSDN and download/install the Platform SDK (if you haven't already gotten it through a regular MSDN CD) which has rather more updated headers and libraries. Cheers, / h+ |
From: <cas...@ya...> - 2002-10-14 22:17:04
|
This is one of the problems I solve once and I again, and never remember how I solved it last time. Let me check the sources... ok, it seems that I defined the following: #define WINVER 0x0500 #define _WIN32_WINNT 0x0501 before including windows.h Let me know if it works... Ignacio Castaño cas...@ya... Pierre Terdiman wrote: > I'm running Win98 / VC 6.0, and WM_MOUSEWHEEL seems not to be defined after > I include winuser.h. (it's protected by some #ifdef checking various Windows > versions - which seem to fail on my system). > > Now, if I define : > > #define WM_MOUSEWHEEL 0x020A > > (and other relevant ones), everything works as expected. > > Is it normal ? What's the story with those defines for various Windows > versions ? Am I supposed to define one myself before including winuser.h ? > Or did I miss something ? _______________________________________________________________ Copa del Mundo de la FIFA 2002 El único lugar de Internet con vídeos de los 64 partidos. ¡Apúntante ya! en http://fifaworldcup.yahoo.com/fc/es/ |
From: Pierre T. <p.t...@wa...> - 2002-10-14 22:35:47
|
> ok, it seems that I defined the following: > > #define WINVER 0x0500 > #define _WIN32_WINNT 0x0501 > > before including windows.h > > Let me know if it works... It should work, but it might also enable some other unwanted NT features.... I just left my defines in place since, as Jon wrote : > With something as simple as a mesasge constant, you're safe, though, as > that message just won't get sent to you on earlier versions, so that > switch case won't get hit. No compatibility worries there (unless you > require mousewheel for accessing needed functionality in your program). Basically I just wanted to make sure I wasn't missing something obvious.... Thanks for the help guys. Pierre |
From: <cas...@ya...> - 2002-10-14 22:42:48
|
Pierre Terdiman wrote: > It should work, but it might also enable some other unwanted NT features.... > > I just left my defines in place since, as Jon wrote : hmm... that's strange, last time I tried, doing that didn't work, but I was probably missing something else. Ignacio Castaño cas...@ya... _______________________________________________________________ Yahoo! Messenger Nueva versión: Webcam, voz, y mucho más ¡Gratis! Descárgalo ya desde http://messenger.yahoo.es |
From: Pierre T. <p.t...@wa...> - 2002-10-15 04:03:22
|
> hmm... that's strange, last time I tried, doing that didn't work, but I was > probably missing something else. Well, I did nothing special here, just added this and it worked : #define WM_MOUSEWHEEL 0x020A #define WHEEL_DELTA 120 case WM_MOUSEWHEEL: { mMouse.mWheelValue = (wparam>>16)/WHEEL_DELTA; [snip] } break; |
From: Pierre T. <p.t...@wa...> - 2002-10-15 04:26:59
|
Another little question.... I have an app with a menu, using some static menu IDs known at compile time (in resource.h, standard stuff). Now I'm creating new menu entries at runtime, using InsertMenuItem. Everything works well, but there's something I'm not too pleased with : the wID member in the MENUITEMINFO. I just hardcoded some IDs there, but I fear they'll collide one day with the static ones. So, is there a way to get free IDs at runtime, or a way to create them in a safe way, etc ? Minor issue there, but while I'm wandering in the Win32 code... Thanks, Pierre |
From: <cas...@ya...> - 2002-10-16 01:15:06
|
resource.h defines the following: #define _APS_NEXT_RESOURCE_VALUE 109 #define _APS_NEXT_COMMAND_VALUE 40004 #define _APS_NEXT_CONTROL_VALUE 1013 #define _APS_NEXT_SYMED_VALUE 101 I think that those values are used internaly by the resource editor, but maybe you can also use them safely. In your case you would use: #define CUSTOM_ID0 _APS_NEXT_COMMAND_VALUE+0 #define CUSTOM_ID1 _APS_NEXT_COMMAND_VALUE+1 etc. Ignacio Castaño cas...@ya... ----- Original Message ----- From: "Pierre Terdiman" <p.t...@wa...> To: <gam...@li...> Sent: Tuesday, October 15, 2002 6:25 AM Subject: [GD-Windows] Unique menu IDs > Another little question.... > > I have an app with a menu, using some static menu IDs known at compile time > (in resource.h, standard stuff). > > Now I'm creating new menu entries at runtime, using InsertMenuItem. > Everything works well, but there's something I'm not too pleased with : the > wID member in the MENUITEMINFO. I just hardcoded some IDs there, but I fear > they'll collide one day with the static ones. > > So, is there a way to get free IDs at runtime, or a way to create them in a > safe way, etc ? > > Minor issue there, but while I'm wandering in the Win32 code... > > Thanks, > > Pierre > > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > Gamedevlists-windows mailing list > Gam...@li... > https://lists.sourceforge.net/lists/listinfo/gamedevlists-windows > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_id=555 _______________________________________________________________ Yahoo! Messenger Nueva versión: Webcam, voz, y mucho más ¡Gratis! Descárgalo ya desde http://messenger.yahoo.es |
From: Pierre T. <p.t...@wa...> - 2002-10-16 01:31:02
|
> #define CUSTOM_ID0 _APS_NEXT_COMMAND_VALUE+0 > #define CUSTOM_ID1 _APS_NEXT_COMMAND_VALUE+1 Interesting..... I'll try this. >Did you look in the docs? > >Platform SDK / User Interface Services / Windows User Interface / >Resources / Menus / Menu Reference / Menu Messages / WM_INITMENUPOPUP I did, but it's obviously useless without some amount of sleep first :) Now, it seems this command doesn't give the previous "wID" directly, but it should be ok with a bit of book-keeping. I'll give it a try.... Pierre |
From: Pierre T. <p.t...@wa...> - 2002-10-16 04:54:48
|
Ok, all problems fixed. Thanks ! |