Jeg har selv lavet noget lignende, hvor jeg brugte RegSvcs.
Du skal lave en Custom Action i dit Setup Projekt.
1. Tilføj en Installer Class til dit projekt der laver dll'en.
2. I konstruktøren tilføjer du en event handler til AfterInstall - ex.:
this.AfterInstall += new InstallEventHandler(CustomInstaller_AfterInstall);
3. Så implementerer du metoden, så du får startet en Process - ex.:
string theAssemblyPath = this.Context.Parameters["assemblypath"];//Den folder du valgte at installere i ProcessStartInfo psi = new ProcessStartInfo("STI TIL REGSVC32", theAssemblyPath); psi.WindowStyle = ProcessWindowStyle.Hidden;//Så ser du ikke en kommandoprompt under eksekvering Process proc = Process.Start(psi);
4. Gå til Setup projektets Custom Action vindue og tilføj dit project output til Install folderen.
Nu vil den Process blive fyret af til sidst i din installation.
det som RegSvr32 gør, er at loade dll'en og kalde DLLRegisterServer. Så du skal bare gøre det samme. Koder ikke selv C#, men i Delphi ser det nogenlunde sådan ud
if ModuleExists('C:\Placering\Write.dll') then begin hmod := LoadLibrary('C:\Placering\Write.dll'); try @proc := GetProcAddress(hmod, 'DLLRegisterServer'); Result := proc; finally FreeLibrary(hmod); end; end;
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.