2010-06-01 11 views
37

Potrzebuję zarejestrować zespół w GAC za pomocą pliku wsadowego. Czy istnieje sposób, aby znaleźć lokalizację instalacji GacUtil.exe lub istnieje sposób, aby zarejestrować zespół bez GacUtil?C# jak zarejestrować zestaw w GAC bez GacUtil?

+0

http://stackoverflow.com/a/2611435/17034 –

Odpowiedz

25

GacUtil nie jest instalowany z instalacją ramową tylko z instalacją pakietu SDK - nie można więc zagwarantować, że będzie on zainstalowany na tym, na którym instalujesz.

To nie będzie działać w pliku wsadowym, ale jeśli rozwinęły się aplikacji można użyć metody GacInstall opisane poniżej:
http://msdn.microsoft.com/en-us/library/system.enterpriseservices.internal.publish.gacinstall.aspx

Alternatywnie polecam wytwarzania plik msi wdrożyć aplikację . Tutorial tutaj:
http://www.dreamincode.net/forums/topic/58021-deploying-a-c%23-application-visual-studio-setup-project/

byłoby to niewskazane rozwiązanie, aby dołączyć kopię Gacutil.exe w swojej dystrybucji, ponieważ chodzi na innej licencji i prawdopodobnie nie są licencjonowane, aby rozpowszechniać

25

Twój bestbet jest użyć skryptu powershell, która otacza Publish.GacInstall, takich jak this one

+0

+1: WOW! Te konkretne odpowiedzi powinny zostać zaakceptowane, ponieważ dają bezpośrednią odpowiedź na górne pytanie. ** Siła to ciąg z tobą. ** –

7

może zainstalować dll w GAC (global cache montaż), wykonując następujące

[Reflection.Assembly]::LoadWithPartialName("System.EnterpriseServices") | Out-Null 
[System.EnterpriseServices.Internal.Publish] $publish = new-object System.EnterpriseServices.Internal.Publish 
$publish.GacInstall(<<FullFilePathToTheDll>>) 

To ma niewiele wspólnego z natywnym interfejsem PowerShell, ale raczej z tworzeniem instancji i używaniem bibliotek .NET z PowerShell

Wykonaj iisreset.

Source

0

użyłem InnoSetup i stworzył instalację łącznie z moim zespołem.

Ważne jest to, jak poniżej:

Source: "C:\Program Files (x86)\WinSCP\WinSCPnet.dll"; DestDir: "{app}"; StrongAssemblyName: "WinSCPnet, Version=1.3.7.7333, Culture=neutral, PublicKeyToken=2271ec4a3c56d0bf, ProcessorArchitecture=MSIL"; Flags: ignoreversion gacinstall uninsnosharedfileprompt 
Powiązane problemy