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