PDA

View Full Version : ...something to do with manifest?



NewsArchive
06-20-2007, 02:47 AM
I am moving my installations over to SB.... I've found a curious anomaly,
which is beyond my understanding.

I have a C55 program which runs fine, on W2K and XP (Vista is next week...
or next month <g>).
This program is in quite wide use, on XP, W98 and (yes)W95.

To be ready for Vista, as mantioned, I am re-doing the installer.
But when I now install my program from SB, I get curious white and black
background effects (see attached pics) - but on XP only, *not* W2k
My memory/instinct tells me that this is do with a manifest... transparent
controls?

But I have no manifest.

I *have* set up a SB script line which says that
if %WINVER% GTE "$WIN_VISTA$" then
#embed Vista manifest "[my program local path'" [asInvoker]

So, according to me, that should have no effect on an XP pc

What then could be the difference in installation between my old Wise
installation and the SB one... why am I getting these black & white areas in
my program in XP, when installed via SB?

TIA
Steve

NewsArchive
06-20-2007, 02:47 AM
Steve,

#embed is a compiler function and executed at compile time, not at installer
run time!!!!

HTH,

--
Friedrich Linder
Lindersoft
www.lindersoft.com
+1.954.252.3910

"point. click. ship" - that's SetupBuilder 6.5
Create Windows Vista ready installations in minutes

-- Official Comodo Code Signing and SSL Certificate Partner

NewsArchive
06-20-2007, 03:01 AM
Oh, I see... yes.
Well *that* part makes sense....

I heard that I must "add a Vista manifest" to my program.
So, seeing one in the SB installer I added one there.
Is that even the right thing?
(Or is that just the manifest for the installer, not my app.)

And if it is, do I need some kind of run-time filter to 'remove' it.

Boy, I'm confused with this stuff!

Steve Bywaters

NewsArchive
06-20-2007, 03:01 AM
Hi Steve,

I know what you mean. Welcome to Vista <g>.

The compiler does automatically embed a Vista-aware into your installer and
uninstaller. So no specific action is required.

To make your application Vista-aware, you have to embed a Vista-aware
manifest (you are already doing this using the #embed function ). What you
see in your application is a well known Windows problem (I think it goes
back to the year 2002) and is not only a Clarion specific problem. You can
see it in all development languages. I even get it in Visual Studio 2005 -
there are a ton of messages if you Google.

Here are two of my favorite links:

http://groups.google.com/group/comp.lang.clarion/browse_frm/thread/7badb0e30730f484/0bdd8ed438916e48?lnk=st&q=%22Transparent%22%2B%22radio%22%2B%22manifest%22 %2B%22black%22&rnum=5&hl=en#0bdd8ed438916e48

http://groups.google.com/group/microsoft.public.platformsdk.ui/browse_frm/thread/8043ca74687fff51/1eab384bd1cbe71b?lnk=st&q=%22Transparent%22%2B%22radio%22%2B%22manifest%22 %2B%22black%22&rnum=7&hl=en#1eab384bd1cbe71b

And of course, Arnór has an interesting article at:
http://www.icetips.com/newsletter.php?ShowNewsLetter=1&NewsLetterID=5

Does this help?

Friedrich

--
Friedrich Linder
Lindersoft
www.lindersoft.com
+1.954.252.3910

"point. click. ship" - that's SetupBuilder 6.5
Create Windows Vista ready installations in minutes

-- Official Comodo Code Signing and SSL Certificate Partner

NewsArchive
06-20-2007, 03:29 AM
> Does this help?
errr... yes... no... err.

So to cut to the chase, I need a direction to work in:

* If I remove the Vista manifest from the installer, I assume that will make
it all good again under XP (just as it was with the Wise install?)

* If adding this manifest makes my C55 program look strange under XP, will
these 'black bits' appear in Vista too?

* I saw the earlier thread here about compiling 2 different version of the
same app inside the one installer (one with manifest, one not. But I don't
see how one would apply the appropriate file into the target folder....
if %WINVER% GTE "$WIN_VISTA$" then
Install app1>>
else
Install app2 >>
But App1 and App2 are the same app! - it's just that we are adding a
manifest to one 'instance'.

I am totally confused....

Steve Bywaters

NewsArchive
06-20-2007, 03:41 AM
Steve,

>> Does this help?
> errr... yes... no... err.
>
> So to cut to the chase, I need a direction to work in:
>
> * If I remove the Vista manifest from the installer, I assume that will
> make
> it all good again under XP (just as it was with the Wise install?)

First of all, please allow me point out that this behaviour does not have
anything to do with SetupBuilder!! It's not a bug or limitation or
whatever!

There is an option in SetupBuilder to embed a manifest into **your
application** to make your program Vista-aware. You are using this option
to make your application Vista-aware. What you then see is a well known
Windows problem (especially when using C55)!

And it does not have anything to do with the manifest in the installer! You
cannot remove the manifest from the installer because you did not add one
;-) A manifest in the setup.exe (installer) and your own yourapp.exe
(application) are completely different things! The manifest in *your*
application causes this black checkbox problem!

> * If adding this manifest makes my C55 program look strange under XP, will
> these 'black bits' appear in Vista too?

Sorry, I don't know.

> * I saw the earlier thread here about compiling 2 different version of the
> same app inside the one installer (one with manifest, one not. But I don't
> see how one would apply the appropriate file into the target folder....
> if %WINVER% GTE "$WIN_VISTA$" then
> Install app1>>
> else
> Install app2 >>
> But App1 and App2 are the same app! - it's just that we are adding a
> manifest to one 'instance'.
>
> I am totally confused....

If you are using C55, you need one app1 for non-Vista apps and app2 (with
manifest) for Vista-apps. Both files can have the same name.

Friedrich

NewsArchive
06-20-2007, 04:49 AM
Yes, I understand that SB is not 'causing' this...... I'm just confused by
it all - I can't see how to get around the issues.

> If you are using C55, you need one app1 for non-Vista apps and app2 (with
> manifest) for Vista-apps. Both files can have the same name.
Can yo provide a SB script snippet as to how one would do this 'conditional
install'?

Steve Bywaters

NewsArchive
06-20-2007, 04:50 AM
Sure, no problem. See attached screenshot.

Let us assume you have just compiled your fresh "test.exe" application.
It's under your c:\NonVista folder. Copy the same file to the c:\Vista
folder.

Then use the code from the screenshot and you are done. It will install
test.exe (without any embedded manifest) on non-Vista/non-Server 2008
machines and the "manifested" test.exe on Vista/Server 2008 machines.

Does this help?

BTW, of course, it is "suboptimal" to have two different applications. A
better solution (IMO) would be to "fix" the black checkbox problem in your
app.

Friedrich

NewsArchive
06-20-2007, 07:46 AM
Oh, I see... separate (local) folders.... <duh>

Tx for the consult, Friedrich.

Steve Bywaters

NewsArchive
06-20-2007, 07:47 AM
Your welcome!

Friedrich