Tcl Source Code

View Ticket
Login
Ticket UUID: 3040283
Title: nmake install does not copy Windows manifest
Type: Bug Version: obsolete: 8.4.16
Submitter: voominc Created on: 2010-08-05 21:03:32
Subsystem: 53. Configuration and Build Tools Assigned To: jan.nijtmans
Priority: 5 Medium Severity: Minor
Status: Closed Last Modified: 2014-02-24 14:59:56
Resolution: Out of Date Closed By: jan.nijtmans
    Closed on: 2014-02-24 14:59:56
Description:
I built and installed Tcl 8.4.16 on Windows XP SP3:

  nmake /f makefile.vc
  nmake /f makefile.vc install

which installed Tcl in  C:\Program Files\Tcl as expected.  When I tried to run tclsh84.exe, I got the error,

  Runtime Error!
  Program: C:\Program Files\Tcl\bin\tclsh84.exe
  R6034
  An application has made an attempt to load the C runtime library incorrectly.

This is apparently because the manifest was missing.

Please update the install target in makefile.vc to copy tclsh84.exe.manifest to C:\Program Files\Tcl\bin\.  Perhaps tclreg11.dll.manifest should be copied too, but I am not enough of a Windows expert to know for sure.

Workaround:

After installing, copy <tclBuildLocation>\tcl8.4.16\win\Release\tclsh84.exe.manifest to the C:\Program Files\Tcl\bin\ folder.
User Comments: jan.nijtmans added on 2014-02-24 14:59:56:

Manifests are indeed built into the executable and/or the dll. Starting with Windows 8.1 this is even more strict, Tcl is recently enhanced to do that correctly. Therefore, It surely works correctly now. See: [651e828a52]


dkf added on 2010-08-07 03:19:43:
Seems weird to me; shouldn't the manifest be built into the binary itself instead of being installed separately? (For reference, I've *never* had to install a manifest separately when installing a Windows program.) Assigning to someone who knows more about Win builds that the auto-assign, and it may just be a problem with the build process...