Was ist der Unterschied zwischen den Parametern / n und / i von RegSvr32.exe?

Um einen COM-Server zu registrieren, führen wir so etwas wie im erhöhten Modus aus:

regsvr32.exe com.dll

Um eine Registrierung pro Benutzer durchzuführen, führen Sie im Benutzerkonto Folgendes aus:

regsvr32.exe /n /i:user com.dll

regsvr32.exe unterstützt diese Parameter:

/u - Unregister server 
/i - Call DllInstall passing it an optional [cmdline]; when used with /u calls dll uninstall 
/n - do not call DllRegisterServer; this option must be used with /i 
/s – Silent; display no message boxes (added with Windows XP and Windows Vista)

Beim Erstellen eines COM-Servers in Delphi wurden folgende Methoden exportiert:

exports
  DllGetClassObject,
  DllCanUnloadNow,
  DllRegisterServer,
  DllUnregisterServer,
  DllInstall;

Ich merke, dass dies passieren wird:

"regsvr32.exe com.dll" ruft DllRegisterServer auf."regsvr32.exe / u com.dll" ruft DllUnregisterServer auf."regsvr32.exe / n / i: user com.dll" ruft DllInstall auf."regsvr32.exe / u / n / i: user com.dll" ruft DllInstall auf.

Ich bin mit den Parametern / n und / i sowie DllUnregisterServer und DllInstall verwechselt. Gibt es etwas anderes?

Warum ruft "/ u / n / i: user" Dllinstall auf? Ich habe festgestellt, dass der entsprechende Registrierungseintrag in "HKEY_CURRENT_USER \ Software \ Classes" entfernt wurde.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage