A Using the Microsoft Visual C++ 2005 or Higher Level Compiler

This appendix contains the following topics:

Note:

All references to Microsoft Visual C++ 2005, VS2005, (v.8) contained within this Appendix refer to the defined JD Edwards EnterpriseOne minimum technical requirement Microsoft Windows platform compiler, e.g. Microsoft Visual C++ 2005 SPn, Microsoft Visual C++ 2008 SPn (where n represents a service pack). Please refer to the JD Edwards EnterpriseOne minimum technical requirements to identify supported versions of the Microsoft Windows platform compiler.

A.1 Understanding Microsoft Visual C++ 2005 or Higher Level Runtime Libraries

This section discusses:

  • Microsoft Visual C++ runtime libraries background.

  • Redistribution of Microsoft Visual C++ 2005 or higher runtime libraries.

A.1.1 Microsoft Visual C++ Runtime Libraries Background

Historically, the Microsoft Visual C++ compiler runtime libraries have been redistributed as part of our JDEdwards OneWorld Xe and EnterpriseOne products. For past Visual C++ compiler releases (before Visual C++ 2005), 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.

Microsoft Visual C++ compiler release 2005 (v.8) or higher runtime libraries are not 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 represents a 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 Visual Studio 2005 SPn.

With the Visual C++ 2005 or higher compiler, manifests associated with our DLLs must now be created. Each DLL-specific manifest identifies a specific runtime library release and version.

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 (or higher) 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 or requires an update for its Visual C++ 2005 compiler and it is installed on your JD Edwards EnterpriseOne Microsoft Windows build machines, you must do the following:

  • Ensure that all JD Edwards EnterpriseOne Microsoft Windows build machines, both servers and workstations, have the identical compiler service pack release levels installed.

  • Distribute the new Visual C++ 2005 SPn runtime libraries to all Microsoft Windows machines that are receiving packages built by Visual C++ 2005 SPn and do not have a compiler installed.

Note:

Microsoft does make the Visual C++ 2005 SPn redistributable package available from the Microsoft Download Center. From the Microsoft Download Center, search for Microsoft Visual C++ 2005 SP1 Redistributable Package (x86), Microsoft Visual C++ 2008 SP1 Redistributable Package (x86), etc.

A.1.2 Redistribution of Microsoft Visual C++ 2005 or Higher Runtime Libraries

This process applies to customers adopting Microsoft Visual C++ 2005 or a higher level compiler. All JD Edwards EnterpriseOne Microsoft Windows machines receiving application foundation packages built with Microsoft Visual C++ 2005 or higher require the runtime libraries to be installed. For example, 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 or Microsoft Updates to the Microsoft Visual C++ 2005 compiler require redistribution of new runtime libraries.

Note:

All references to Microsoft Visual C++ 2005 within this Appendix refer to the JD Edwards EnterpriseOne defined Microsoft Windows platform compiler minimum technical requirements, for example, Microsoft Visual C++ 2005 SPn, Microsoft Visual C++ 2008 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 also explained in this appendix.

See .

A.2 Creating 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 vcredist.exe. By default the Runtime Libraries path for the 2005 compiler release is C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\vcredist_x86, while the 2008 compiler release is C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\vcredist_x86.

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.

A.3 Creating 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.

A.4 Building 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.

A.5 Installing 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 JDEdwards 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. 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 SDKs\Windows\v6.0A\Bootstrapper\Packages\vcredist_x86.

  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.