http://bugs.winehq.org/show_bug.cgi?id=7359
Summary: Vector NTI installer creates a lnk to re-start itself which does not properly reference RUNDLL32.EXE Product: Wine Version: CVS Platform: Other URL: http://download.invitrogen.com/evergreen/Vector%20NTI%20 Advance%2010.exe OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: wine-kernel AssignedTo: wine-bugs@winehq.org ReportedBy: mk144210@bcm.tmc.edu
Sorry to flood with bugs, but there are a bunch in the installer and I thought I'd document them (although I have a script that installs it just fine). This is actually a rather strange error, the installer tries to install MS components it needs (e.g., MDAC) and then creates an MsiExecuter.lnk file in the StartUp area of the Start Menu so that the installer will restart when the user reboots (of course wine currently ignores these files, but this may not be true forever).
In any case, the weird thing is that under wine both with wine MSI and native MSI the link references C:\rundll32.exe which, of course, does not exist. I looked through the WINEDEBUG=+msi,+relay logs, and it looks like the installer is looking in the wrong directory for rundll32.exe (in the case of the wine MSI, it looks in C:\ which is where the CreateProcess in dlls/msi/action.c creates processes, in native MSI it creates the link in the current directory, which is also incorrect) and creates the wrong link. However, interestingly, in Windows 98, it actually finds the _right_ directory and links c:\windows\system32.exe. I will attach the two lnk files and the output of:
grep -A 1000 -B 1000 rundll32 log
where log is the (very large) WINEDEBUG=+msi,+relay log of running wine setup.exe.
Misha
p.s. since the path is not correct with both wine MSI and native MSI, and is only correct on a native Windows system (I tested on 98, on XP it does not need to install these components as they are already there so it is not testable), so I am putting the bug in wine-kernel as this is where file finding and such seems to be. Please correct if it is wrong.