Sdílet prostřednictvím


Tabulka SelfReg

Tabulka SelfReg obsahuje informace o modulech, které je potřeba zaregistrovat sami. Instalační program volá funkci DllRegisterServer během instalace modulu; Volá DllUnregisterServer během odinstalace modulu. Instalační program neregistruje soubory EXE.

Tabulka SelfReg obsahuje následující sloupce.

Sloupec Typ Klíč Nullable
Soubor_ identifikátor Y N
Náklady celočíselná N Y

 

Sloupce

File_

Externí klíč do prvního sloupce tabulky Soubor označující modul, který je potřeba zaregistrovat.

náklady na

Náklady na registraci modulu v bajtech. Musí to být nezáporné číslo.

Poznámky

Autoři instalačních balíčků důrazně doporučují, aby používali samoobslužnou registraci. Místo toho by měli moduly registrovat vytvořením jedné nebo více tabulek poskytovaných instalačním programem pro tento účel. Další informace naleznete v tématu skupiny tabulek registru. Mnohé z výhod centrální instalační služby jsou ztraceny při samoobslužné registraci, protože rutiny samoobslužné registrace mají tendenci skrýt důležité informace o konfiguraci. Mezi důvody, proč se vyhnout samoobslužné registraci, patří:

  • Vrácení instalace pomocí modulů registrovaných svým držitelem nelze bezpečně provést pomocí DllUnregisterServer, protože neexistuje způsob, jak zjistit, jestli jsou klíče zaregistrované svým držitelem používány jinou funkcí nebo aplikací.
  • Možnost používat inzerování je snížena, pokud se registrace serveru třídy nebo rozšíření provádí v rámci rutin samoobslužné registrace.
  • Instalační program automaticky zpracovává klíče HKCR v tabulkách registru pro instalace pro jednotlivé uživatele i počítače. rutiny DllRegisterServer aktuálně nepodporují pojem klíče HKCR pro jednotlivé uživatele.
  • Pokud více uživatelů používá aplikaci zaregistrovanou samostatně na stejném počítači, musí každý uživatel aplikaci nainstalovat při prvním spuštění. Jinak instalační program nemůže snadno určit, že existují správné klíče registru HKCU.
  • DllRegisterServer může být odepřen přístup k síťovým prostředkům, jako jsou knihovny typů, pokud je komponenta zadána jako spustit ze zdroje a je uvedena v tabulce SelfReg. To může způsobit selhání instalace komponenty během instalace pro správu.
  • Knihovny DLL pro samoregistrování jsou náchylnější k chybám kódování, protože nový kód vyžadovaný pro DllRegisterServer se pro každou knihovnu DLL běžně liší. Místo toho použijte tabulky registru v databázi k využití existujícího kódu poskytovaného instalačním programem.
  • Knihovny DLL, které se registrují sami, můžou někdy odkazovat na pomocné knihovny DLL, které nejsou k dispozici nebo jsou nesprávné verze. Instalační program naproti tomu může zaregistrovat knihovny DLL pomocí tabulek registru bez závislosti na aktuálním stavu systému.

Poznámka

Pomocí akcí SelfRegModules a SelfUnRegModu les nelze určit pořadí, ve kterém instalační program registruje nebo zruší registraci knihoven DLL. Viz Určení pořadí samoobslužné registrace.

 

Validace

ICE03
ICE06
ICE32