I've been working on getting the Free Borland installer working. It
uses installshield so I think this pertains to all installshield
installers .. I've found a problem in propsheet.c ,
PROPSHEET_CollectPageInfo() . It appears that the property pages that
come out of the installer have the PSP_USETITLE flag set. So wine
attempts to get the title from the pszTitle field. The problem occurs
because the pszTitle field is null. Wine try's to use it as a resource
ID then fails. From reading over some MS docs I think windows, in this
situation, reverts the PSP_USETITLE flag then uses the title in the
template. So far I can get the installer to work, but it doesn't have a
title or caption I haven't figured out why.
I tryed changind it to "if (dwFlags & PSP_USETITLE &&
LOWORD(lppsp->pszTitle) != 0)" but it didn't have any effect. I also
tryed reverting the PSP_USETITLE flag with no effect. Anyone have any
ideas why there isn't a title?
The patch below should fix the borland installer and , I assume,
other
install shield installers. Let me know if this patch doesn't work..
Daniel Walker
--- ./dlls/comctl32/propsheet.c Mon Feb 12 10:08:31 2001
+++ ../../wine-20010305/dlls/comctl32/propsheet2.c Sat Apr 14
17:22:59 2001
@@ -296,12 +296,10 @@
if (dwFlags & PSP_USETITLE)
{
- if ( !HIWORD( lppsp->pszTitle ) )
- {
char szTitle[256];
-
- if ( !LoadStringA( lppsp->hInstance, (UINT) lppsp->pszTitle,
szTitle, 256 ) )
- return FALSE;
+
+ if ( !HIWORD( lppsp->pszTitle ) && LoadStringA( lppsp->hInstance,
(UINT) lppsp->pszTitle, szTitle, 256 ) )
+ {
psInfo->proppage[index].pszText =
HEAP_strdupAtoW(GetProcessHeap(),
0, szTitle );