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?
Odpowiedz
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ć
Twój bestbet jest użyć skryptu powershell, która otacza Publish.GacInstall, takich jak this one
+1: WOW! Te konkretne odpowiedzi powinny zostać zaakceptowane, ponieważ dają bezpośrednią odpowiedź na górne pytanie. ** Siła to ciąg z tobą. ** –
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
.
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
http://stackoverflow.com/a/2611435/17034 –