IAM mit Regasm.exe, um Tlb-Datei zu generieren und registrieren Sie die Assembly programmatisch. Aber den Pfad von Tlb in .NET Stammverzeichnis selbst. so gehen sie wie folgtWie übergeben Sie den Verzeichnispfad als Befehlszeile für den Prozess?
Puffer c enthält: \ Windows \ Microsoft.Net \ Framework \ v2.0.57 \ RegAsm.exe
if(!CreateProcessW(buffer,L" C:\\Program Files\\Test\\Test.dll /codebase /tlb /silent" ,NULL, NULL,FALSE, 0,NULL,NULL,(LPSTARTUPINFOW)&si,&pi))
Aber ich denke, es wird nicht vollständigen Pfad nehmen, da dort ein leeres b/W Programm und Files.as erwartet, wenn ich den Befehl ausführen, zeigt es auch nicht zu finden, Eingabe-Assembly c: \ Programm.
normalerweise bei Eingabeaufforderung können wir geben als
RegAsm.exe "c: \ program files \ Test \ test.dll"/codebase/TLB diese fett ich habe als Befehlszeile übergeben, aber Es gibt Double Quptes mit doppelten Anführungszeichen. So wurde ich gedrängt.
Wie kann ich es beheben
Nicht relevant für diese Frage, aber nicht die & si, stattdessen deklarieren STARTUPINFOW si; – sharptooth
HALLO sahrptooth Ich ist den Weg von C bekommen: \ Programme \ Test \ unseren vorhandenen Code als Zeichenfolge verwende jetzt ich die restlichen \ test.dll am anhängen“/ codebase/TLB jetzt macht es so einfach String asemblypath = obj.installationPath() + "\\ test.dll/codebase/tlb" und jetzt muss ich dies als commandline übergeben ich übergebe es einfach als CreateProcessW (buffer, assemblypath, xxxxxxxx); aber ich habe den Fehler kann nicht konvertieren Zeichenfolge an LPWSTR Wie kann ich Zeichenfolge in LPWSTR konvertieren ... können Sie in dieser Hinsicht helpme ... – Cute