cvs wine + win2k ole + installshield = unhappy

Roderick Colenbrander thunderbird2k at gmx.net
Fri Feb 7 12:00:11 CST 2003


Installing IS6 installers is not very hard on Wine. You don't need any windows 
dlls. You need to have the winedefault.reg file installed and after that you 
need stdole32.tlb from windows. For the rest no native files are needed.

Roderick

On Friday 07 February 2003 18:55, Dan Kegel wrote:
> Gregory M. Turner wrote:
> > Implementing NdrClientCall2 is going to be pretty difficult I think. 
> > Getting it to work for installshield seems like a good pet project for
> > Ove & me... what is the application?
>
> An installer made with plain old Installshield 6.
>
> > You could try:
> >
> > $ cd ~/c/windows/system
> > $ cp /dos/c/WINNT/system32/rpcrt4.dll .
> > $ cd ~/c/temp/disk1
> > $ ~/wine/wine --dll compobj,storage,ole,ole2,ole32,rpcrt4=n Setup.exe
> >
> > but that may not work either...  Using Win2K ole they will probably call
> > some "port" commands to do the IPC... but that's not implemented in wine.
>
> I played around with that, but ended up writing the following recipe
> for running Installshield 6 installers:
>
> -------
>
> Installing Software on Wine
>
> If the setup program was written with Installshield 6, here's how to run
> it:
>
> You'll need to copy a few Windows files from your Windows
> partition.  Only Win98 or WinME files will work; Win2K files don't seem
> to work.  If you do not have a license from Microsoft for these
> files on this computer, you cannot legally run this software's
> installer under Wine (though you can probably install it under Windows
> and run it under Wine).  The files you need are
>
> windows/system/compobj.dll
> windows/system/ole2.dll
> windows/system/ole32.dll
> windows/system/oleaut32.dll
> windows/system/stdole32.tlb
> windows/system/storage.dll
> windows/system/rpcrt4.dll
>
> Copy these to your fake Windows directory, e.g. ~/c/windows/system.
>
> For instance,
> $ cd /dos/c/windows/system
> $ cp compobj.dll ole2.dll ole32.dll oleaut32.dll stdole32.tlb storage.dll
> rpcrt4.dll ~/c/windows/system
>
> Start the installer (SETUP.EXE) with the command
> $ wine --dll compobj,storage,ole,ole2,ole32,oleaut32,rpcrt4=n SETUP.EXE
>
> If you get the error "Error installing iKernel.exe: (0x1400)" at any point,
> it's probably because there are leftover processes from a previous try.
> You can verify this with the command
> $ ps augxw | grep wine
>
> If that command shows old copies of wine, kill them with the command
> $ killall wine
>
> Repeat the ps to make sure the old wines are gone.
>
> If you get errors like "Setup failed to launch installation engine:
> (0x80070008), it may mean you haven't copied the right Windows files.
>
> The installation will procede normally, if slowly.
> At the end, installation may hang after all files are installed.
> If this happens, abort the installation by pressing control-C in the window
> it was started in.
>
> ---------
>
> And yes, native oleaut32 is needed.  Or at least it was with 20030115; this
> recipe was for people without cvs.  I bet it hasn't changed much since
> the Jan 15th release, though.
>
> Maybe that recipe could be added to the FAQ?
>
> - Dan




More information about the wine-devel mailing list