Visual C++ fájlok újraterjesztése

Jegyzet

Azért van itt, mert az egyik Visual C++ futtatókörnyezeti fájl letöltését keresi? Lépjen a legújabb támogatott Visual C++ terjeszthető letöltések lapra.

Terjeszthető fájlok és licencelés

A Visual C++ újraelosztható csomag, az egyes modulfájlok és bináris fájlok terjesztése csak licenccel rendelkező Visual Studio felhasználók számára engedélyezett, és a Microsoft szoftverlicencefeltételek vonatkoznak rá.

Az alkalmazások telepítésekor a támogatáshoz szükséges fájlokat is üzembe kell helyeznie. Ha Microsoft rendelkezik ezek közül a fájlok bármelyikével, ellenőrizze, hogy jogosult-e újraterjesztésre. Az IDE-ben megtalálja a Visual Studio licencfeltételére mutató hivatkozást. A Az Microsoft Visual Studio párbeszédpanelen válassza a License-feltételek hivatkozást. A vonatkozó Microsoft szoftverlicenc-szerződés és licenceket a Visual Studio License Címtárból is letöltheti.

A "REDIST-lista" megtekintéséhez, amelyre a Visual Studio 2022 Microsoft szoftverlicenc-feltételek "Terjeszthető kód" szakaszában hivatkoznak, lásd a Microsoft Visual Studio 2022 terjeszthető kódfáljait.

A "REDIST-lista" megtekintéséhez, amelyre a "Terjeszthető kód" szakaszában hivatkoznak a Visual Studio 2019 Microsoft szoftverlicencfeltételeiben, lásd a Terjeszthető kód fájlok a Microsoft Visual Studio 2019 számára.

A Visual Studio 2017 Microsoft szoftverlicenc-szerződés "Terjeszthető kód" szakaszában említett "REDIST-lista" megtekintéséhez lásd: Microsoft Visual Studio 2017 terjeszthető kódfájljai.

A Visual Studio 2015 Microsoft szoftverlicenc-szerződés "Terjeszthető kód" szakaszában hivatkozott "REDIST listához" tekintse meg a Microsoft Visual Studio 2015 terjeszthető kód fájljait.

Az újraterjeszthető fájlokról további információt a dinamikus csatolású kódtárak (DLL-ek) újraterjesztésére kiválasztandó könyvtárak meghatározása és az üzembe helyezés példái nyújtanak.

Az terjeszthető fájlok megkeresése

Az terjeszthető fájlok üzembe helyezéséhez használhatja a Visual Studio által telepített terjeszthető csomagokat. A Visual Studio 2017 óta elérhető verzióiban ezek a fájlok neve vc_redist.arm64.exe, vc_redist.x64.exe és vc_redist.x86.exe. 2015-ben, 2017-ben és 2019-ben < Visual Studio c0 />, és (csak 2015-ben) néven is elérhetők.

Az terjeszthető fájlok megkeresésének legegyszerűbb módja a fejlesztői parancssorban beállított környezeti változók használata. 2022 Visual Studio az terjeszthető fájlok a %VCINSTALLDIR%Redist\MSVC\v143 mappában találhatók. A Visual Studio 2019 legújabb verziójában az terjeszthető fájlokat a %VCINSTALLDIR%Redist\MSVC\v142 mappában találja. A Visual Studio 2017-ben és Visual Studio 2019-ben a fájlok is megtalálhatók %VCToolsRedistDir%. A Visual Studio 2015-ben ezeket a fájlokat a %VCINSTALLDIR%redist\<locale> találja, ahol a <locale> a terjeszthető csomagok területi beállítása.

A 2022-es és 2019-es Visual Studio egyesítési modulfájlok a Visual C++ <version> Újraterjeszthető egyesítési modulok részét képezik a Visual Studio Telepítőben. Az egyesítési modulok alapértelmezés szerint a C++ telepítés részeként vannak telepítve a Visual Studio 2017-ben és a Visual Studio 2015-ben. Amikor telepítve van a Visual Studio 2022, az újraterjeszthető egyesítési modulokat a %VCINSTALLDIR%Redist\MSVC\v143\MergeModules találhatók.

A Visual Studio 2019 legújabb verziójában az újraterjeszthető egyesítési modulok %VCINSTALLDIR%Redist\MSVC\v142\MergeModules találhatók. A Visual Studio 2019 és a Visual Studio 2017 esetében ezek is megtalálhatók %VCToolsRedistDir%MergeModules. Visual Studio 2015-ben található a Program Files [(x86)]\Common Files\Merge Modules.

Az terjeszthető csomagok telepítése

A Visual C++ terjeszthető csomagjai telepítik és regisztrálják az összes Visual C++ kódtárat. Ha használ egyet, futtassa előfeltételként a célrendszeren az alkalmazás telepítése előtt. Javasoljuk, hogy ezeket a csomagokat használja a telepítésekhez, mert lehetővé teszik a Visual C++ könyvtárak automatikus frissítését. A csomagok használatát bemutató példa : Útmutató: Visual C++ alkalmazás üzembe helyezése a Visual C++ terjeszthető csomag használatával.

Minden Visual C++ terjeszthető csomag ellenőrzi, hogy létezik-e újabb verzió a gépen. Ha újabb verziót talál, a csomag nincs telepítve. A 2015-ös vagy újabb Visual Studio terjeszthető csomagok hibaüzenetet jelenítenek meg, amely szerint a telepítés sikertelen volt. Ha egy csomag a jelölőt használja a /quiet futtatáshoz, nem jelenik meg hibaüzenet. Mindkét esetben a Microsoft telepítő naplózza a hibát, és a rendszer hibát ad vissza a hívónak.

A 2015-ös és újabb Visual Studio ezt a hibát elkerülheti, ha ellenőrzi a beállításjegyzékben, hogy telepítve van-e egy újabb verzió. Az aktuális telepített verziószám a HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\14.0\VC\Runtimes\{x86|x64|arm64} kulcsban van tárolva.

A verziószám a 2015-ös, 2017-es, 2019-es és 2022-es Visual Studio esetén 14.0, mert a legújabb újraelosztható binárisan kompatibilis a korábbi verziókkal egészen 2015-ig visszamenőleg. A kulcs arm64, x86 vagy x64 a platformra telepített vcredist verzióktól függően. (Az Wow6432Node alkulcs alatt csak akkor kell ellenőriznie, ha a Regeditet használva tekinti meg az x64 platformon telepített x86-csomag verzióját.)

A verziószámot a rendszer a sztringértékben REG_SZVersion, valamint a , Major, Minorés BldRbld értékek halmazában REG_DWORDtárolja. A telepítés során felmerülő hibák elkerülése érdekében meg kell hagynia az terjeszthető csomag telepítését, ha a jelenleg telepített verzió újabb.

Az terjeszthető csomagok parancssori beállításai

A Visual C++ terjeszthető számos parancssori lehetőséget támogat. A /?, /h vagy /help opciók egy párbeszédpanelt jelenítenek meg, amely felsorolja az elérhető opciókat. Választhatja /install az újraterjeszthető telepítését, /repair javítását, vagy /uninstall eltávolítását. A /layout beállítás az aktuális könyvtárban másolja át az újraterjeszthető teljes tartalmát.

Alapértelmezés szerint a Redisztribuálható telepíti a tartalmát, és rákérdez a felhasználóra az információk megadására, valamint arra, hogy újraindítja-e a számítógépet a telepítés után. Ezt a viselkedést a következő beállításokkal módosíthatja:

  • /passive: egy folyamatjelző sávot jelenít meg az újraterjeszthető telepítése közben, de máskülönben nem igényel felhasználói beavatkozást.
  • /quiet: nem jelenít meg felhasználói felületet, és nem igényel felhasználói beavatkozást. Teljes felügyelet nélküli telepítéshez használható /quiet .
  • /norestart: letiltja az újraindítási kísérleteket. Alapértelmezés szerint a rendszer létrehoz egy naplófájlt a %TEMP%.
  • /log filename.txt egy adott fájlba való bejelentkezéshez.

Ha nem emelt szintű parancssorból fut, válaszolnia kell egy felhasználói fiókvezérlési kérésre, hogy a telepítő rendszergazdai jogosultságokkal fusson.

Ez a példaparancs telepíti az x64 újraelosztható csomagot. A telepítés előrehaladását mutatja, de nem igényel felhasználói beavatkozást az újraindításon kívül:

vc_redist.x64.exe /install /passive /norestart

Az terjeszthető egyesítési modulok telepítése

Fontos

A Visual C++ terjeszthető fájlok egyesítő moduljai (.msm fájlok) elavultak. Nem javasoljuk, hogy alkalmazástelepítéshez használja őket. Ehelyett a Visual C++ terjeszthető csomag központi telepítését javasoljuk. A központi üzembe helyezés egy terjeszthető csomagban lehetővé teszi, hogy Microsoft a futtatókörnyezeti kódtár fájljait egymástól függetlenül lehessen kiszolgálni. Az alkalmazás eltávolítása nem befolyásolhatja a központi telepítést is használó más alkalmazásokat.

Ha egy terjeszthető csomagot használ a központi üzembe helyezéshez, nem ön a felelős a futtatókörnyezeti kódtárak nyomon követéséért és karbantartásáért. Ellenkező esetben a futtatókörnyezeti kódtár fájljainak frissítéséhez és ismételt üzembe helyezéséhez frissítenie kell a .msi telepítőjét. Az alkalmazás sebezhető lehet a hibákkal vagy a biztonsági problémákkal szemben, amíg meg nem teszi.

Az újraterjeszthető egyesítési modulokat tartalmaznia kell az alkalmazás üzembe helyezéséhez használt Windows Telepítőcsomagban (vagy hasonló telepítési csomagban). További információ: Újraterjesztés egyesítési modulok használatával. Példa: Útmutató: Visual C++ alkalmazás üzembe helyezése beállítási projekt használatával.

Egyéni terjeszthető fájlok telepítése

Az újraterjeszthető DLL-eket közvetlenül is telepítheti az alkalmazás helyi mappájába. Az alkalmazás helyi mappája a végrehajtható alkalmazásfájlt tartalmazó mappa. Karbantartási okokból nem javasoljuk, hogy ezt a telepítési helyet használja.

Lehetséges futtatókörnyezeti hibák

Ha Windows nem találja az alkalmazás által igényelt terjeszthető DLL-ek egyikét, a következőhöz hasonló üzenet jelenhet meg: "Ez az alkalmazás nem indult el, mert library.dll nem található. Az alkalmazás újratelepítése megoldhatja ezt a problémát."

Az ilyen típusú hibák elhárításához győződjön meg arról, hogy az alkalmazástelepítő megfelelően épül fel. Ellenőrizze, hogy az terjeszthető kódtárak megfelelően lesznek-e üzembe helyezve a célrendszeren. További információ: A Visual C++ alkalmazás függőségeinek ismertetése.