Uniface User Forum

 View Only
  • 1.  Visual C/C++ runtime distributable

    Posted 12-03-2020 12:47

    Hi Unifacers,

    Uniface is distributed including Visual C/C++ runtime distributable on Microsoft platforms.
    As of today latest Uniface patches available are including:
    - U9.7.05.056: version 14.0.24225.1
    - U10.3.02.045: version 14.0.24225.1

    In the organization I am currently working with most of the working stations are controlled via WSUS and updates to Visual C/C++ are under full control but a portion of working station are NOT and follow their update configuration. Some of those PCs gets updated to latest Visual C/C++ runtime version, while some others remain with the original package installed (becoming older during times).
    Current situation from Microsoft is a continous upgrade because the C/C++ runtime is shared between latest 3 Visual Studio versions: 2015, 2017 and 2019. Considering also other applications are using same runtime distributable and could or could NOT upgrade it based on their updates this situation could go a little outside control. Luckily this piece of software is quite stable on its own.

    I have two questions on this subject:
    1) I would like to know how other large companies are maintaining this piece of software:
        - Not caring about it, it is stable.
        - Always latest automatically updated via WindowsUpdate or WSUS
        - Using only the one arriving with Uniface patches
        - Other: please specify
    2) Could we afford to install ALWAYS latest version (As of today: VC2019 version 14.28.29325.2) ???

    If the scenario I've described is incomplete please let me know...

    Thanks in advance for any answer helping to clarify the subject.

    Regards,
    Gianni



  • 2.  RE: Visual C/C++ runtime distributable
    Best Answer

    ROCKETEER
    Posted 12-04-2020 09:20

    Hi Gianni,

    I hope this clarifies the matter:

    > Uniface 9.7.05/10.3: Compatibility with Microsoft Visual C++ Redistributable for Visual Studio 2015 (and newer)

    You can find this under Documentation > Technical Information.

    In short: Microsoft claims that the Visual C++ Redistributable for Visual Studio 2015, 2017, and 2019 are binary compatible. It therefore should not matter for Uniface which of the mentioned Visual C++ Redistributables is installed.

    Regards,
    Daniel



  • 3.  RE: Visual C/C++ runtime distributable

    PARTNER
    Posted 12-14-2022 06:58

    Hi,
    Daniel or someone else, could you comment on this.
    We will soon start to deploy a Uniface 10 application to our customers. We usually deploy Visual C++ Redistributable in  the Uniface bin-directory and Uniface on a network shared drive.

    Now as there seem to have changed so that you can use different versions of Visual C++ Redistributable I consider to just demand that the customer clients do have a version installed.

    However I started to think about Daniel saying "It therefore should not matter for Uniface which of the mentioned Visual C++ Redistributables is installed". It will probably mostly work, but somehow I think that one should use a newer version that Uniface is built with. This is from the Microsoft site:

    Visual Studio versions since Visual Studio 2015 share the same Redistributable files. For example, any apps built by the Visual Studio 2015, 2017, 2019, or 2022 toolsets can use the latest Microsoft Visual C++ Redistributable. However, the version of the Microsoft Visual C++ Redistributable installed on the machine must be the same or higher than the version of the Visual C++ toolset used to create your application. For more information about which version of the Redistributable to install, see Determining which DLLs to redistribute. 



    ------------------------------
    Roger Wallin
    Abilita Oy
    ------------------------------



  • 4.  RE: Visual C/C++ runtime distributable

    PARTNER
    Posted 12-14-2022 07:03
    Hmm, perhaps Daniel was true, considering only to Uniface 10.3 being built by Visual studio 2015?

    ------------------------------
    Roger Wallin
    Abilita Oy
    ------------------------------



  • 5.  RE: Visual C/C++ runtime distributable

    PARTNER
    Posted 12-14-2022 07:34
    We use Uniface 10.04.02, and should probably use some Visual C++ redistributable 2022 version?

    ------------------------------
    Roger Wallin
    Abilita Oy
    ------------------------------



  • 6.  RE: Visual C/C++ runtime distributable

    ROCKETEER
    Posted 12-21-2022 06:57
    Indeed, Uniface version 10.4.02 has been built with Microsoft Visual C++ 2022 and it therefore requires (at least) the Microsoft Visual C++ Redistributable for Visual Studio 2022.

    ------------------------------
    Daniel Iseli
    Principal Technical Support Engineer
    Uniface Services
    Rocket Software, Switzerland
    ------------------------------



  • 7.  RE: Visual C/C++ runtime distributable

    PARTNER
    Posted 12-21-2022 11:01
    Do you know when Visual C++ redistributable is needed?
    Actually our 10.4.02 application can be started by people having just the "Visual C++ 2015-2019 redistributable", which I suppose is a version from 2019. My laptop had  "Visual C++ 2015-2022 redistributable".
    Or is it working but you just can 't trust that everything is working correctly??

    ------------------------------
    Roger Wallin
    Abilita Oy
    ------------------------------



  • 8.  RE: Visual C/C++ runtime distributable

    ROCKETEER
    Posted 12-21-2022 11:38
    This is a question for Microsoft, I am afraid. Since they apparently say that the version of the Microsoft Visual C++ Redistributable installed on the machine must be the same or higher than the version of the Visual C++ toolset used to create your application then this should answer your question, I guess.

    We do not and cannot test such configurations. We advise people to install the Redistributable Package that comes with a Uniface installation. And the redist is installed automatically when installing Uniface. And you can find the following note in the ReadMe of the Uniface distribution for Windows:

    «Microsoft Visual C++ Redistributable Package is installed automatically with Uniface. When running your Uniface application from a network share, it might be necessary to manually install the Microsoft Visual C++ Redistributable package on your individual PCs. The package is available in the \uniface_setup\vcredist directory of this media.»

    I hope this clarifies this matter.

    ------------------------------
    Daniel Iseli
    Principal Technical Support Engineer
    Uniface Services
    Rocket Software, Switzerland
    ------------------------------



  • 9.  RE: Visual C/C++ runtime distributable

    PARTNER
    Posted 12-22-2022 04:30

    Thanks Daniel,

    Our customers usually start Uniface from a shared network drive.
    In Uniface 9.7.04 it has been very annoying getting those logs from customer-organization it-staff, saying that there is some differences in "Visual C++ redistributable"-versons, wrong manifests etc.  Usually correcting these problems have had no impact on the actual problem.

    I'm afraid that we will get the same problem now, although the redistributable versions now seem to work more appropriate since version 2015.
    If we/customer would have to install Visual C++ redistributable on all those workstations (one customer could have hundreds of workstations), we could at the same time install whole Uniface and get a much better performance.

    However it's very easy to just link to the shared network drive. Since starting to use Odbc file specification, we don't need anything else  on the local pc than the database client dll-files, which usually are preinstalled. Thats why it's so important to know how an old Visual C++ redistributable version affects the Uniface application.
    Actually using Uniface 10.4.02 seem to put us in a much worse situation than using some 10.03 version that is developed with Visual Studio 2015 toolset.
    And yes, eg. Uniface Anywhere is nice and we have customers on that platform too.

    Regards RogerW



    ------------------------------
    Roger Wallin
    Abilita Oy
    ------------------------------



  • 10.  RE: Visual C/C++ runtime distributable

    ROCKETEER
    Posted 12-22-2022 05:42
    Thanks Roger.

    In case you want to know how an old(er) Visual C++ Redistributable version affects the Uniface application then you really need to ask Microsoft. You already know what they recommend (i.e. what the prerequisite is: the version of the Microsoft Visual C++ Redistributable installed on the machine must be the same or higher than the version of the Visual C++ toolset used to create your application). You can therefore assume that Microsoft will not support any other combination and we therefore cannot do as well. I am sorry.

    And installing the Microsoft Visual C++ Redistributable on different workstations could be automated. This is not something that needs to be done manually.

    You also could choose to copy the required DLLs to the Uniface bin folder. You can find additional info about how to do this in the Microsoft documentation:


    This method is not recommended by Microsoft and we therefore also do not recommend this. You can ignore any DLLs that are meant for managed code - Uniface only uses native code. And in case you are wondering what the version number of the DLLs are: it (currently) is 140.

    I hope this helps.

    Regards,

    ------------------------------
    Daniel Iseli
    Principal Technical Support Engineer
    Uniface Services
    Rocket Software, Switzerland
    ------------------------------