Re: MS Vista Issues
- From: Pops <dude@xxxxxxxxxxxxxxxxxxxxxx>
- Date: Fri, 15 Jun 2007 15:33:09 -0400
Tim Roberts wrote:
I have 11 year old WIN16 application that remains to be popular with our customers. We never had a very pressing need to update it for various reasons, including it was advanced enough for its time and continues to be useful. But we probably now have come to that bridge where we need to port it to 32 bit.
Yes, especially because Vista64 doesn't support Win16 applications any
more.
And all VISTA64 explorers know that using VISTA64 breaks more than just their using of our WIN16 application they wish to use. :) So it really has been a pressing need - yet.
In the interim, under Vista, we are hearing two basic problems and I am wondering there is a temporary workaround:
1) Vista seems to prohibit the main process EXE from extracting an ICON resource from another EXE. The ExtractIcon() is not returning an error but it is also not returning the resource either.
Have you run experiments that show this? Is this an executable that you
have permission to read? You understand that ExtractIcon from a 32-bit app
cannot read icons from a 16-bit app, right?
Yes.
This is a 100% long time engineered, time tested, used by 100 of thousands of our hosting customer's' users, WIN16 GUI application that starts a 16 bit main EXE desktop toolbar "Launcher" that communicates with other 16 bit OLE integrated EXEs.
The issues are new with VISTA16 and Windows 2008/beta only.
An image of the desktop toolbar can be seen at:
http://www.winserver.com/public/files/wcnavdemo.png
At startup, the main process extracts the icon resource from each exe. Each EXE is 16 bit and follows our SDK/API to integrate into the toolbar. Including an ICON is optional.
Yes, what I found is that ExtractIcon() will not return an error but the value of hIcon resource handle is NULL. It doesn't have a problem extracting the icons from the current process.
So the end result is that the desktop toolbar shows blank icons because the EXE will not fail because of a missing ICON. It is not technically required, but suggested by 3rd party developers who write and add a EXE module for this application using our WIN16 SDK/API
Trust me, this is a long time application that worked for all of Microsoft's Win32 OSes and the its 100% support WIN16 sub-system.
2) Unzipping an "update" ZIPPED file to replace existing EXEs is failing for some reason which I have not yet figured out why.
Yes, it sound like a permission problem. You aren't trying to update an
exe that is currently running, are you?
No.
This report came later so I am not 100% sure why yet this happens yet.
We had updated one of the EXEs to fix a Long/Short file name conversion issue. The special EXE update zip file was distributed to hosting customers so that their users can get automatically updated when they click the icon to start it.
Part of the main exe logic when it launches a clicked icon is to first check their remote host system for any custom updates before it loads the exe. If any, the special EXE zipped file is transferred and unzipped into the exe's folder. Then it launched the updated exe.
So the selected EXE is not loaded in memory when this logic is performed.
The report I am hearing here is that the update logic somehow fails and hence the process is repeated every time the user's clicks on the icon to start the exe. For now, the customer has to remove the updated EXE zip file so that the user's main exe does not see the update.
Anyway, Customers understand it is not US that created these problem but instead Microsoft.
But of course, unfortunately, Microsoft has created an industry of sorry state apathy among its small business developers and end-users and now the support buck has passed to us to deal with this.
What I don't understand is why Microsoft did not offer a compatibility option here and for all intent and purposes, they have broken the functionality of the 16 bit ExtractIcon() WIN16 SDK function. I can clearly understand not wanting to support it in VISTA64, but to break long time functionality is fast becoming a bitter sweet hard pill to swallow.
Just wondering if there is a workaround or technical solution short of a complete revamp to win32 which is not going to help us today.
Thanks anyway.
--
HLS
.
- Follow-Ups:
- Re: MS Vista Issues
- From: Tim Roberts
- Re: MS Vista Issues
- References:
- MS Vista Issues
- From: Pops
- Re: MS Vista Issues
- From: Tim Roberts
- MS Vista Issues
- Prev by Date: Re: SetupDixxx
- Next by Date: ASSERT doesn't make a blue screen on Vista
- Previous by thread: Re: MS Vista Issues
- Next by thread: Re: MS Vista Issues
- Index(es):
Relevant Pages
|