Qual é a diferença entre os parâmetros / n e / i do RegSvr32.exe?

Para registrar um servidor COM, executamos algo como no modo elevado:

regsvr32.exe com.dll

Para realizar o registro por usuário, execute na conta do usuário:

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

O regsvr32.exe suporta estes parâmetros:

/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)

Ao criar um servidor COM no Delphi, esses métodos foram exportados:

exports
  DllGetClassObject,
  DllCanUnloadNow,
  DllRegisterServer,
  DllUnregisterServer,
  DllInstall;

Eu noto que isso vai acontecer:

"regsvr32.exe com.dll" invoque DllRegisterServer."regsvr32.exe / u com.dll" invoque DllUnregisterServer."regsvr32.exe / n / i: usuário com.dll" invoque o DllInstall."regsvr32.exe / u / n / i: usuário com.dll" invoque o DllInstall.

Eu sou confuso com parâmetros / n e / i, bem como DllUnregisterServer e DllInstall. Existe algum diferente?

Além disso, por que "/ u / n / i: user" invoca o Dllinstall? Percebi que a entrada de registro correspondente em "HKEY_CURRENT_USER \ Software \ Classes" foi removida.

questionAnswers(2)

yourAnswerToTheQuestion