Appendix: Using the Microsoft Visual C 2005 Compiler

This appendix provides an overview of Microsoft Visual C++ 2005 runtime libraries and discusses how to:

Click to jump to parent topicUnderstanding Microsoft Visual C++ 2005 Runtime Libraries

This section discusses:

Click to jump to top of pageClick to jump to parent topicMicrosoft Visual C++ Runtime Libraries Background

Historically, the Microsoft Visual C++ compiler runtime libraries have been redistributed as part of our JD Edwards OneWorld Xe and EnterpriseOne products. For past Visual C++ compiler releases the redistribution of the compiler specific runtime libraries has been quite simple. Our installer process placed the runtime libraries in a location found within the server’s path, (for example, %SYSTEMROOT%\system32), to make them accessible.

Due to Microsoft Visual C++ compiler release 2005 (v.8) changes, the runtime libraries are no longer backward and forward compatible. When JD Edwards EnterpriseOne objects are compiled using Microsoft Visual C++ 2005 and linked into a dynamic link library (DLL), a manifest file is created for each DLL. This DLL-specific manifest identifies the runtime library version used to compile and link the objects that were built. Unlike past compilers, the runtime libraries must not only be release-specific but also version-specific. For instance, when the Microsoft Visual C++ 2005 Compiler and SPn, (where n is some service pack) are installed on a machine, the Windows\WinSxS (side-by-side) folder is updated to include the associated compiler runtime libraries with the release level of ‘8.0.50727.762’.

With the Visual C++ 2005 compiler, manifests associated with our DLLs must now be created. Each DLL-specific manifest identifies a specific runtime library release and version, for example ‘8.0.50727.762.’ This association requires that all Microsoft Windows machines that are part of a JD Edwards EnterpriseOne solution and that perform business function builds share a Microsoft Visual C++ 2005 compiler with identical service pack releases.

When you build new packages using the Microsoft Visual C++ 2005 SPn compiler, you must ensure that all machines receiving these packages have the corresponding runtime libraries installed. This is important to note. Assuming Microsoft makes a new service pack available for its Visual C++ 2005 compiler and it is installed on your JD Edwards EnterpriseOne Windows build machines, you must do the following:

Note. Microsoft does make the Visual C++ 2005 SPn redistributable package available from the Microsoft Download Center. From the Microsoft Download Center search for any of the following: vcredist_x86.exe, Microsoft Visual C++ 2005 SP1 Redistributable Package (x86), etc.

Click to jump to top of pageClick to jump to parent topicRedistribution of Microsoft Visual C++ 2005 Runtime Libraries

This process applies to customers adopting Microsoft Visual C++ 2005. All JD Edwards EnterpriseOne Windows machines receiving application foundation packages built with Microsoft Visual C++ 2005 require the runtime libraries to be installed. The Microsoft Visual C++ 2005 Redistributable Package (vcredist_x86.exe) installs runtime components of Visual C++ required to run applications developed with Visual C++ on a computer that does not have Visual C++ 2005 compiler installed.

The absence of the Microsoft Visual C++ 2005 runtime libraries from a machine using a JD Edwards EnterpriseOne application foundation package built by the same compiler will result in “Business function Library load failed ...” error messages. Once the Visual C++ 2005 runtime libraries are installed on a Microsoft Windows machine, only new service pack updates to the Microsoft Visual C++ 2005 compiler require redistribution of new runtime libraries.

Note. All references to Microsoft Visual C++ 2005 within this document refer to the JD Edwards EnterpriseOne defined Microsoft Windows platform compiler minimum technical requirements, for example, Microsoft Visual C++ 2005 SPn. Please refer to the JD Edwards EnterpriseOne minimum technical requirements to identify supported versions of the Microsoft Windows platform compiler.

A Microsoft or third-party system management tool such as SMS can be used to distribute the Microsoft Visual C++ 2005 runtime libraries. This is generally the recommended approach for the distribution of Microsoft packaged product. The JD Edwards EnterpriseOne package build “feature” can also be used to push Microsoft’s redistributable runtime library package to all Microsoft Windows client machines. Delivery of Microsoft Visual C++ 2005 runtime libraries for JD Edwards EnterpriseOne enterprise, logic, application, or batch servers is explained in the appendix at the following link.

See Installing the VS2005 Runtime Library on an Enterprise Server.

Click to jump to parent topicCreating a VS2005 Runtime Library Package Feature

The JD Edwards EnterpriseOne package build “feature” makes it possible to distribute third party applications with the deployment of a client package. Create a package feature for the Microsoft Visual C++ 2005 compiler runtime libraries to leverage this facility.

The deployment server should have a copy of the Microsoft Visual C++ 2005 SPn compiler installed. By default the installation path for this compiler release is C:\Program Files\Microsoft Visual Studio 8.

To create a VS2005 runtime library package feature:

  1. On the deployment server, open Windows Explorer and navigate to your JD Edwards EnterpriseOne solution's shared folder. For example, E900.

  2. Expand the shared node and open OneWorld Client Installs\ThirdParty.

  3. Under the folder ThirdParty, create a new folder with the name VS2005RTL.

  4. Locate and copy the vcredist_x86.exe file from your installed compiler path. For example, C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\vcredist_x86.

  5. Copy the vcredist_x86.exe file into the VS2005RTL folder.

  6. Log into the deployment server's DEP900 environment.

  7. Fast path to menu GH9083, Package and Deployment Tools, and select the Package Assembly application.

  8. On the Work with Packages form, select Form and then Features.

  9. On the Work with Features form, click Add.

  10. Click Next to begin the Feature Based Deployment Director.

  11. On the Feature Information form, complete these fields and click Next:

    Field

    Value

    Feature

    VS2005_RTL

    Feature Type

    1

    Description

    Visual C++ 2005 Runtime Libraries

    Feature Installation Options

    Required

    Components

    Additional Install Processes

  12. On the Additional Install Processes form, select the Execute After Install option.

  13. Complete these fields and click Next:

    Field

    Value

    Third Party

    VS2005RTL

    Description

    Visual C++ 2005 Runtime Libraries

    Sequence

    1

    Executable Name

    vcredist_x86.exe

    This is the name of the executable file found in the ...\ThirdParty\VS2005RTL folder.

    Source Path

    \\<deploymentservername>\E900\OneWorld Client Install\ThirdParty\VS2005RTL

    Note. Do not use the Select Directory browse function to obtain the aforementioned path. Instead type the UNC path or cut and paste the Universal Naming Convention (UNC) path from Windows Explorer into the Source Path field.

    Parameters

    /Q

    /Q denotes Quiet Mode and does not require any user intervention.

  14. Click Save to preserve the feature settings and then click Next to continue.

  15. On the Feature Summary form, click End to complete the feature definition.

Note. If you expand the nodes describing each package feature you may inspect the feature definition. You may notice that the UNC share path has been truncated for your newly created entry. This is NOT an issue as this line entry serves only as a description. The complete UNC share path has been properly preserved in System table F96604.

Click to jump to parent topicCreating an Update Package with the VS2005 Runtime Library Feature

Once the VS2005 runtime library package feature has been created, it can be associated with either an update or full package. Creating an update package containing this feature will cause the full parent package assembly information to include this same feature.

To create an update package with the VS2005 runtime library feature:

  1. Go to menu GH9083, Package and Deployment Tools, and select the Package Assembly application.

  2. On the Work with Packages form, click Add.

  3. On the Package Assembly Director, click Next to begin the package assembly process.

  4. On the Package Information form, select the Express option, complete these fields, and click Next:

    Field

    Example Value

    Package Name

    DV2005RTL

    Description

    Visual C++ 2005 RTL for DV

    Path Code

    DV900

  5. On the Package Component Revisions form, select the Update option and type or select the parent package. For example, DV900FA.

  6. Click the Features button.

  7. On the Features Components form, click the Browse button.

  8. On the Feature Component Selection form, click Find.

  9. Highlight the entry associated with VS2005_RTL and click Select to mark the entry with a check mark.

  10. Click Close and Close again to return to the Package Component Revisions form.

  11. Verify that the form shows “Individual Features Selected” and click End to complete the package assembly process.

  12. On the Work with Packages form, select Row and Active/Inactive to activate the package.

Click to jump to parent topicBuilding and Deploying an Update Package with the VS2005 Runtime Library Feature

After creating the update package, you will need to build and deploy the package.

To build and deploy an update package with the VS2005 runtime library feature:

  1. Highlight your package and select Row and Define Build.

  2. On the Package Build Definition Director, click Next to begin the build definition process.

  3. On the Package Build Revisions form, ensure that the Build Location Client check box is checked and click Next.

  4. On the Build Features tab, select the Build Feature INFs option.

  5. On the Package Build Revisions form, click End to complete the build definition process.

  6. On the Work with Package Build Definition form, select Row and Active/Inactive to activate the package build definition.

  7. Select Row and Submit Build to build the package.

  8. On the Report Output Destination form, select On Screen and click OK.

  9. Once the package build has completed, review the R9621 PDF report file to verify that the build completed successfully.

    The successful package build with the included package feature results in the creation of a feature-specific INF file.

  10. After building the package, the appropriate person must approve it for client deployment.

    Afterwards, both the update and associated parent package will automatically include the Microsoft Visual C++ 2005 runtime libraries as part of the client installation process.

    Since this feature was configured to install in Quiet Mode (/Q), it does not require any user intervention. If the Microsoft Visual C++ 2005 runtime libraries are already installed on the machine, the feature-specific installer will exit.

Click to jump to parent topicInstalling the VS2005 Runtime Library on an Enterprise Server

All JD Edwards EnterpriseOne Microsoft Windows machines receiving application foundation packages built by Microsoft Visual C++ 2005 require the runtime libraries to be installed. Customers using a JD Edwards EnterpriseOne enterprise, logic, application, or batch server that does not have a Microsoft Visual C++ 2005 compiler installed, must install the associated Microsoft redistributable runtime library package (vcredist_x86.exe). Failure to install the runtime libraries while using a Microsoft Visual C++ 2005 built application foundation package on a machine without the supported compiler will result in “Business function Library load failed ...” error messages.

A Microsoft or third-party system management tool such as SMS could be used to distribute the Microsoft Visual C++ 2005 runtime libraries to these machines. This is generally the recommended approach for the distribution of Microsoft packaged products. In the absence of a system management tool, simply install the Microsoft redistributable runtime library package (vcredist_x86.exe).

To install the Microsoft redistributable runtime library package:

  1. 1. Locate the vcredist_x86.exe file on a machine with the Microsoft Visual C++ 2005 compiler installed. The default installed compiler path is C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\vcredist_x86.

  2. 2. Copy the vcredist_x86.exe file to a folder on your local machine.

  3. Double-click the vcredist_x86.exe file executable to install the Microsoft Visual C++ 2005 runtime libraries.