Closed Bug 1364497 Opened 7 years ago Closed 7 years ago

Can not build seamonkey with msvc*140.dlls without ucrtbase.dll and api-ms-win-*.dlls

Categories

(SeaMonkey :: Build Config, defect)

All
Windows 10
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: wgianopoulos, Assigned: wgianopoulos)

References

Details

(Keywords: regression)

Attachments

(1 file, 1 obsolete file)

It is not possible to build seamonkey with including the required msvc*140.dll files without also including ucrtbase.dll and all of the api-ms-win-*.dll file, the inclusion of those make my builds not start with a popup saying Unable to load XPCOM.

Removing this restriction permits me to build a 64 bit version which loads under windows 10 and windows 7.
Assignee: nobody → wgianopoulos
Status: NEW → ASSIGNED
OS: Unspecified → Windows 10
Hardware: Unspecified → All
Blocks: 1286286
Keywords: regression
Like I said in my emails only including the msvc*140.dll files and not ucrtbase.dll and the api-ms-win*.dll files results in builds that launch and work under win10 and WIN7.  trying to include the other DLL files results in builds that do not.
Attachment #8867272 - Attachment is obsolete: true
Attachment #8867281 - Flags: review?(iann_bugzilla)
This is all win-64 related your mileage may vary under win-32.
So the idea of this lame original change was there was no reason anyone would want to do this.  Well you are wrong.  I have a legitimate reason I want to do it.!
As stated the VS2015 and now VS2017 c++ runtime files need the ucrt. This one is not always available under Windows 7 x64 and for x86 not available separately under XP. Optional updates are only available for Vista and 7. A full build needs both or will not work on all systems.

>> I have a legitimate reason I want to do it.!

Maybe but you still need both in the build. 

Please check dependentlibs.list in your SeaMonkey install directory and see if you are missing any dlls. They need all to be in this directory.
Comment on attachment 8867281 [details] [diff] [review]
Permit defining WIN32_REDIST_DIR without defining WIN_UCRT_REDIST_DIR.wg9s3-cc.diff

Redirecting review request to someone that builds regularly on windows
Attachment #8867281 - Flags: review?(iann_bugzilla) → review?(frgrahl)
I just checked Fx 52 x64 and it included both the ucrt and VS2015 redist files. 

For x64 builds the redist files come from here (assuming VS2015 standard install):
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\redist\x64\Microsoft.VC140.CRT

The x64 ucrt can be found here (Windows 10.0.14393.795 toolkit):
C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64

Not all files in the directory are in dependentlibs.list but they end up in the distribution and are needed.
OK I chnaged my builds to use the redist files from those 2 places.  What I had tried previously, which did not work was using the ucrt dlls from the Operating system and the other redist files form VS2015.  Assuming those builds work on all of my windows instances, I will close this bug as INVALID.
Comment on attachment 8867281 [details] [diff] [review]
Permit defining WIN32_REDIST_DIR without defining WIN_UCRT_REDIST_DIR.wg9s3-cc.diff

Clearing review. 

Just to make sure the the current setup also works with x64 I did build an x64 SeaMoney. The same vacpp and ucrt redist dlls as in Fx were included in the installer and ended up in the installation directory. The resulting build worked fine with Windows 7 x64.
Attachment #8867281 - Flags: review?(frgrahl)
Closing bug. If something still doesn't work please reopen or shoot me an email.
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: