Closed Bug 356462 Opened 18 years ago Closed 18 years ago

Get SeaMonkey VC8 (installer&app) working

Categories

(SeaMonkey :: Installer, defect)

x86
Windows XP
defect
Not set
major

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: mcsmurf, Assigned: mcsmurf)

References

Details

(Keywords: regression)

Attachments

(4 files)

The current SeaMonkey installer does not run on Windows XP or greater anymore, this is caused by the switch to the VC8 compiler and so a new dependency on runtime DLLs. The patch in Bug 328579 ported to xpinstall/ might fix this bug here, too.
Attached image Error message
Attached patch PatchSplinter Review
Assignee: nobody → bugzilla
Status: NEW → ASSIGNED
Keywords: regression
Comment on attachment 242091 [details] [diff] [review]
Patch

This looks ok to me, but I'm pretty ignorant of VC8 so I'd like to get a second pair of eyes on here for r=

sr=dveditz
Attachment #242091 - Flags: superreview+
Attachment #242091 - Flags: review?(dougt)
Adding the error message ("MSVCR80.dll not found") in summary to help searching for the bug. 

Another error message later, during install states 
"126: Could not load local [drive\path]\Temp\ns_temp\xpcom\bin\xpistub.dll"
Summary: SeaMonkey full installer does not run on > Windows XP anymore → SeaMonkey full installer does not run on > Windows XP anymore (MSVCR80.dll not found)
Tt seems there are two problems here, both have to do with the installer as far as I see this. The patch here should fix one of the two problems, for the other one I'll need to search a bit in the code where to fix this (this is somewhat complicated).
why aren't we just shipping the vc8 redistributables?

did 328579 fix this bug?
(In reply to comment #6)
<snip>
| did 328579 fix this bug?

I don't see how that could, given that it was verified as FIXED on the 4th, and this bug was filed today on a trunk 10-12 build...

Attachment #242149 - Attachment mime type: application/octet-stream → text/plain
Bug 328579 did fix the old Firefox/Thunderbird installer, they forked the xpinstall/ code. The VC8 files will be shipped, but this happens in another patch which I'll attach soon.
As Frank said, there are two parts to this bug.  #1 is the patch he attached, which ports my fix to xpinstall from bug 328579, since that was forked in toolkit.  #2 is ensuring that the CRT redistributables get packaged.
The installer doesn't only fail on the XP Operating system. I have the same problem with Windows 2000 SP4 as well. I even put the msvcr80.dll in system32, but then I get the further error of:

Event Type:	Information
Event Source:	Application Popup
Event Category:	None
Event ID:	26
Date:		13/10/2006
Time:		14:47:35
User:		N/A
Computer:	BOTTLENECK
Description:
Application popup: SeaMonkey Setup: SETUP.EXE - Entry Point Not Found : The procedure entry point _encoded_null could not be located in the dynamic link library MSVCR80.dll.  
Comment on attachment 242091 [details] [diff] [review]
Patch

marking benjamin as the reviewer since he reviewed the other patch with this one is derived.  benjamin, if you are too busy, let me know.
Attachment #242091 - Flags: review?(dougt) → review?(benjamin)
Attachment #242091 - Flags: review?(benjamin) → review+
Whiteboard: [checkin needed]
Comment on attachment 242091 [details] [diff] [review]
Patch

Checked in on trunk:
Checking in setup/xpi.c;
/cvsroot/mozilla/xpinstall/wizard/windows/setup/xpi.c,v  <--  xpi.c
new revision: 1.38; previous revision: 1.37
done
Whiteboard: [checkin needed]
Attached patch Packager changesSplinter Review
These changes seem to make the installer work again. Anyway, the installer gets way bigger because of that patch, so this cannot be /the/ solution (if this solution is correct), I think somewhere around ~2.5MB bigger (the VC8 runtimes have 1.5MB in size uncompressed). The Windows tinderbox will shortly be running VC6 again, sorry for the waste of time, I did not expect that many problems with this.
*** Bug 356712 has been marked as a duplicate of this bug. ***
So... why are these files needed in both places when MSVCRT.DLL is apparently not? (compare http://lxr.mozilla.org/seamonkey/search?string=msvcrt.dll)
(In reply to comment #16)
> So... why are these files needed in both places when MSVCRT.DLL is apparently
> not? (compare http://lxr.mozilla.org/seamonkey/search?string=msvcrt.dll)

Whoever is fixing this (or wants to better see the scope of the problem) might want to read

http://www.codeproject.com/cpp/vcredists_x86.asp

It has a lot of good background on why VC8 might not be the build platform of choice just now for a project like SM... but PLEASE don't see the current problems as a reason to regress back to VC6!

That compiler is just too long in the tooth, is not up to date wrt the C++ language def, and generates inferior code... whereas VC 7.1 (aka VS 2003) is widely used, is "production quality", and *much* more current.
VC8 is just the compiler on the current reference platform for the mozilla.org apps. VC6 should be dropped, right, the developers contributing also had more than enough problems already with VC6 due to bugs in it. Don't worry, as things stand the next SeaMonkey release from trunk (which will be SeaMonkey 1.5 or even 2.0) will use VC8. But that release will use a new installer and also drops the GRE, which caused and causes a few problems...
As I mentioned in the point "Redistributable builds" of http://resources.kairo.at/mozilla/build/make-win-tinderbox-vc8express.html, there is a vcredist_x86.exe provided with VC8 that should probably get installed by our installer if the fitting msvcr80.dll is not yet installed on the target system.
Once this is installed on the system, all VC8-built binaries run out-of-the-box on this system.
I think it comes to about the same whether you distribute the DLLs or the redist package.  The redist package is about 2.5 Mb, whereas the DLL files themselves are only about 1.5 Mb.

kairo:  Just a note, in your tinderbox instructions, you don't need to put the CRT .manifest in your components directory anymore, part of the fix for bug 328579 involved not embedding manifests in DLLs, so they will use the manifest of the application that loads them.
Ted:
Nice thing about the components/ stuff - that makes non-static builds much easier :)

The difference of using the redist package is that everyone who ever installed an installer build can then use any package - but I think as the components/ stuff is solved and the GRE will be solved soon, we can probably go with including the DLLs twice (maybe even only msvcr80.dll unless the others are really needed)
The VC6 tinderbox is running and today's nightly should be fine again. For now the VC8 tinderbox will stay though and you can download the builds from http://ftp.mozilla.org/pub/mozilla.org/seamonkey/tinderbox-builds/sea-win32-tbox-trunk/. These builds currently need an installed VC8 runtime (until this bug here is resolved) and have the new Cairo GFX toolkit enabled.
Severity: blocker → major
Setting severity to blocker
Severity: major → blocker
(In reply to comment #0)
> The current SeaMonkey installer does not run on Windows XP or greater anymore,
> this is caused by the switch to the VC8 compiler and so a new dependency on
> runtime DLLs. The patch in Bug 328579 ported to xpinstall/ might fix this bug
> here, too.



(In reply to comment #22)
> The VC6 tinderbox is running and today's nightly should be fine again. For now
> the VC8 tinderbox will stay though and you can download the builds from
> http://ftp.mozilla.org/pub/mozilla.org/seamonkey/tinderbox-builds/sea-win32-tbox-trunk/.
> These builds currently need an installed VC8 runtime (until this bug here is
> resolved) and have the new Cairo GFX toolkit enabled.

So, is this bug fixed or is it not fixed? 

Are there normal Win32 nightly trunk builds available in the regular download area which will run and install properly? If so, I'd say the nightly installer problem is fixed, which was the issue I reported which was duped to this bug. If not, it should indeed stay as a blocker. 

> So, is this bug fixed or is it not fixed? 
> Are there normal Win32 nightly trunk builds available in the regular download
> area which will run and install properly?

Worcester12345,
Try build 2006101708 
http://ftp.mozilla.org/pub/mozilla.org/seamonkey/nightly/latest-trunk/
It installed without a itch (WFM). So far, it runs without a problem.

Frank, is it ok to resolve this bug?
Just leave it open for now and don't change the severity :). I'll do further work here in the bug to get the VC8 build running on PCs without the runtime installed.
Severity: blocker → major
Would you object to changing the summary to something like "Get installer working with VC8?"  Because, really, the original bug as reported (That the installer doesn't work) is now fixed...
Summary: SeaMonkey full installer does not run on > Windows XP anymore (MSVCR80.dll not found) → Get SeaMonkey VC8 (installer&app) working
(In reply to comment #27)
> Would you object to changing the summary to something like "Get installer
> working with VC8?"  Because, really, the original bug as reported (That the
> installer doesn't work) is now fixed...

Yes, this one "Bugzilla Bug 356712 Installation failure: MSVCR8O.dll not found" is fixed.

Thanks, Frank. The world's a happy place again. :)
Comment on attachment 242296 [details] [diff] [review]
Packager changes

Probably not the best solution, but for trunk this is ok (there will probably no release with VC8 and this installer code). Locally this adds about ~1.5MB to the installer.
Attachment #242296 - Flags: review?(dveditz)
(In reply to comment #30)

In case seeing how another open source project handles this is of interest, the changelog for TortoiseCVS 1.9.16 (unstable) released today says

"The installer now attempts to download and install the Microsoft Visual 
C++ 2005 Redistributable Package (x86 and x64) if it is not already 
installed."
Comment on attachment 242296 [details] [diff] [review]
Packager changes

r=dveditz
Attachment #242296 - Flags: review?(dveditz) → review+
Comment on attachment 242296 [details] [diff] [review]
Packager changes

sr=dveditz also on this trivial change
Attachment #242296 - Flags: superreview+
All fixes checked in (and verified that they work), soon the official builds will be VC8 again.
Status: ASSIGNED → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
working on Win2000 but requires now reboot !
see bug 360897
is the palmsync extension built?
Wayne: No, that's a different bug.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: