From b55ecee8cd54daf566c61a6789b87a36e919f9f8 Mon Sep 17 00:00:00 2001 From: kichik Date: Fri, 17 Aug 2007 16:16:40 +0000 Subject: [PATCH] fixed bug #1766268 - $SMPROGRAMS incorrect on Windows 98 use shfolder.dll only on ME and for all users's $APPDATA for which it was introduced git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@5237 212acab6-be3b-0410-9dea-997c60f758d6 --- Source/exehead/util.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Source/exehead/util.c b/Source/exehead/util.c index 153c621a..5ff96a48 100644 --- a/Source/exehead/util.c +++ b/Source/exehead/util.c @@ -628,8 +628,14 @@ char * NSISCALL GetNSISString(char *outbuf, int strtab) LPITEMIDLIST idl; int x = 2; + DWORD ver = GetVersion(); + BOOL all_users_9x_capable = !( + (ver & 0x80000000) && // 9x + (LOWORD(ver) != 0x5A04) && // not ME + (fldrs[2] != CSIDL_COMMON_APPDATA) // not all users's appdata + ); - if (g_exec_flags.all_user_var) + if (g_exec_flags.all_user_var && all_users_9x_capable) { x = 4; }