patrick_arena
Level 4

SdShowMsg issue on Win8

Hello everyone,
I have been using the same installscript code for ages on Win7 but when I got to Win8 it begun acting weird.
The first thing which comes to my mind is that the SdShowMsg is ignored. :mad:
I've got the Installshield 2012 Spring Professional edition and even with the SP1 the issue remains.
Am I the only one experiencing this problem? any workaround?
thanx
Labels (1)
0 Kudos
5 Replies
phill_mn
Level 7

No problem with SdShow on Win 8 here. I use it a lot and when I saw this thread I went back and checked on Win 8 again. Not sure what your issue would be.

When I first started working with Windows 8 I had a lot of random crashes, generally after the SdFinished dialog, but sometimes at anytime. Eventually while working on a different issue I refactored code that was part of the initial dialogs for many years and prior versions of InstallShield. The random problem disappeared and in reviewing the issue seems to have been related to an InstallShield variable that was incorrectly 'freed' while calling a Win32 API. So my experience is that the memory management on Windows 8 is much more restrictive and fragile than it used to be, but if you find those kinds of issues it plays fine. I do not know what is contributing to your issue.
0 Kudos
patrick_arena
Level 4

Thank u for your help Phill,
I am pretty sure about this issue since i put some MsgBox and SdShowMsg. The former is doing fine while the other one just vanishes.

The only hint is related to another problem which is show here by Flexera as a known issue http://kb.flexerasoftware.com/selfservice/viewContent.do?externalID=Q112476
and here by me as a thread in the forum: http://community.flexerasoftware.com/showthread.php?206412-Unknow-publisher-issue-on-Win8&p=488225#post488225

So could it be that SINCE THE PUBLISHER IS REPORTED AS UNKNOWN SdShowMsg COMMANDS ARE NOT EXECUTED?

As for your mail I am doing nothing so weird as u can see in the example below

SdShowMsg("UAC Level Change - Please wait",TRUE);
if (RegDBSetKeyValueEx ("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\System", "EnableLUA", REGDB_STRING, "0", -1) < 0) then
MessageBox ("RegDBSetKeyValueEx failed.", SEVERE);
endif;
SdShowMsg("UAC Level Change - Please wait",FALSE);

any clue or workaround?

Thanx
Patrick
0 Kudos
phill_mn
Level 7

I should clarify my prior post. From your reply I see that you are using MSI. My experience installing on Win 8 is with a pure InstallScript project. I only mentioned the strange behavior I was observing, because until I refactored that code for other reasons, I had no reason to think that the code in the initial dialog sequence was causing the crash after the SdFinished, and even though I sent ISLogIt Trace files to Flexera to analyze, I still do not know with certainty that the two are related. I just know that after that change I have not seen the Win 8 crash.

Yes your code in the snippet is simple. I am working on a MSI project now and do not consider myself to have much expertise with MSI yet. I think I would simplify it further like this to separate the SdShowMsg from when the MessageBox is displayed, but that may be pedantic.

SdShowMsg("UAC Level Change - Please wait",TRUE);
nReturn = RegDBSetKeyValueEx ("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\System", "EnableLUA", REGDB_STRING, "0", -1);
SdShowMsg("UAC Level Change - Please wait",FALSE);

if (nReturn < 0) then
MessageBox ("RegDBSetKeyValueEx failed.", SEVERE);
endif;
SdShowMsg("UAC Level Change - Please wait",FALSE);

On my PC (even on Win 7) "EnableLUA" is a REG_DWORD so I think you should use REGDB_NUMBER. My experience on Win 8 is that when there is a problem with memory management (as this issue would cause) it just dumps the InstallScript engine. I suspect that Win 8 is throwing an exception which it may have not done on Win 7, and the InstallScript engine is not catching the new exception when there are memory issues and just dumping the process. Still guessing.
0 Kudos
patrick_arena
Level 4

So first of all thank u so much for your hint. That worked for me!!

Any clue about the other problem, the one related with the with unknown publisher?

>... another problem which is show here by Flexera as a known issue http://kb.flexerasoftware.com/selfse...rnalID=Q112476
> and here by me as a thread in the forum: http://community.flexerasoftware.com...225#post488225


Ah yes I'm using installshield spring professional 2012 on a IS-MSI project.

In any case thank you for your help!
Patrick
0 Kudos
phill_mn
Level 7

See the PM I sent you.
0 Kudos