2008-08-29 18 views
19

Mam cały katalog bibliotek dll, muszę zarejestrować się w GAC. Chciałbym uniknąć rejestrowania każdego pliku jawnie- ale wydaje się, że gacutil nie ma opcji "register directory". Czy ktoś ma szybkie/proste rozwiązanie?Zarejestruj wiele zestawów do GAC w Vista

Odpowiedz

34

GACUTIL nie rejestruje plików DLL - nie w znaczeniu "COM". W przeciwieństwie do COM, GACUTIL kopiuje plik do nieprzezroczystego katalogu w% SYSTEMROOT% \ assembly i tam właśnie się zaczyna. Nie ma sensu pytanie, czy GACUTIL "rejestruje folder" (nie, że można to zrobić również z RegSvr32).

Można użyć wsadowych komendy takie jak:

FOR %a IN (C:\MyFolderWithAssemblies\*.dll) DO GACUTIL /i %a 

Jeżeli miejsce, które w pliku wsadowym, należy zastąpić% A z %%

+0

Działa świetnie! Do odinstalowania możesz użyć: FOR% a IN (C: \ MyFolderWithAssemblies \ *. Dll) DO GACUTIL/uf% ~ na –

11

Oto skrypt będzie można umieścić do pliku wsadowego, aby zarejestrować wszystkie pliki w bieżącym katalogu za pomocą Gacutil. Nie musisz umieszczać go w pliku wsadowym (możesz po prostu skopiować/wkleić go do wiersza poleceń), aby to zrobić.

FOR %1 IN (*) DO Gacutil /i %1 

Edytuj: Bah, przepraszam za spóźnienie. Nie widziałem poprzedniego postu, kiedy pisałem moje.

2

Zastosowanie

gacutil/il YourPathTo_A_TextFile.txt

przełącznik, jeśli masz bibliotek DLL w wielu różnych folderach. W przeciwnym razie przejdź do pętli for ... in wspomnianej przez Euro.

Plik tekstowy powinien zawierać listę ścieżek złożenia (jedna ścieżka na linię), która powinna zostać zainstalowana. Ścieżki mogą być również różnymi folderami w całym systemie. Uruchom wiersz polecenia jako administrator!

Tutaj przykładem YourPathTo_A_TextFile.txt:

C: \ ... Microsoft.Practices.EnterpriseLibrary.Common.dll C: \ ... Microsoft.Practices.EnterpriseLibrary.Configuration .Design.HostAdapter.dll C: \ ... Microsoft.Practices.EnterpriseLibrary.Configuration.Design.HostAdapterV5.dll C: \ ... Microsoft.Practices.EnterpriseLibrary.Configuration.DesignTime.dll C: \ .. .Microsoft.Practices.EnterpriseLibrary.Configuration.EnvironmentalOverrides.dll C: \ ... Microsoft.Practices.EnterpriseLibrary.Data.dll

+0

Enterprise Library = Ultimate DLL all –

Powiązane problemy