Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / Configuration / GacUtil.cs / 1 / GacUtil.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Configuration { using System.Web.Configuration; using System.Runtime.InteropServices; using System.Security.Permissions; /* class for installing ASP.BrowserCapabilitiesFactory into gac */ internal sealed class GacUtil : IGac { [SecurityPermission(SecurityAction.Demand, UnmanagedCode = true)] public void GacInstall(string assemblyPath) { #if !FEATURE_PAL IAssemblyCache ac = null; int hr = NativeMethods.CreateAssemblyCache(out ac, 0); if (0 == hr) hr = ac.InstallAssembly(0, assemblyPath, IntPtr.Zero); #else // !FEATURE_PAL int hr = -1; try { Process gacutilprocess = new System.Diagnostics.Process(); if (gacutilprocess != null) { gacutilprocess.StartInfo.CreateNoWindow = true; #if PLATFORM_UNIX gacutilprocess.StartInfo.FileName = "gacutil"; #else gacutilprocess.StartInfo.FileName = "gacutil.exe"; #endif gacutilprocess.StartInfo.UseShellExecute = false; gacutilprocess.StartInfo.Arguments = "/i " + assemblyPath; gacutilprocess.Start(); while (!gacutilprocess.HasExited) { Thread.Sleep(250); } hr = gacutilprocess.ExitCode; } } catch (Exception) { hr = -1; } #endif // FEATURE_PAL if (0 != hr) { throw new Exception(SR.GetString(SR.Failed_gac_install)); } } [SecurityPermission(SecurityAction.Demand, UnmanagedCode = true)] public bool GacUnInstall(string assemblyName) { IAssemblyCache ac = null; uint position = 0; int hr = NativeMethods.CreateAssemblyCache(out ac, 0); if (0 == hr) { hr = ac.UninstallAssembly(0, assemblyName, IntPtr.Zero, out position); if (position == 3 /*IASSEMBLYCACHE_UNINSTALL_DISPOSITION_ALREADY_UNINSTALLED*/) { return false; } } if (0 != hr) { throw new Exception(SR.GetString(SR.Failed_gac_uninstall)); } return true; } } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Animatable.cs
- DoubleAnimationUsingPath.cs
- DataObjectCopyingEventArgs.cs
- __Error.cs
- MergablePropertyAttribute.cs
- ListenerHandler.cs
- TypedTableHandler.cs
- SafeNativeMethods.cs
- StickyNoteAnnotations.cs
- GatewayIPAddressInformationCollection.cs
- LineServicesRun.cs
- LinkButton.cs
- HtmlTableCellCollection.cs
- DesignerProperties.cs
- UIInitializationException.cs
- ListSurrogate.cs
- FontClient.cs
- BuildResult.cs
- InheritanceContextHelper.cs
- SizeAnimationClockResource.cs
- Vector3D.cs
- URLMembershipCondition.cs
- DBCSCodePageEncoding.cs
- MemoryRecordBuffer.cs
- QilScopedVisitor.cs
- DoWorkEventArgs.cs
- DataViewManager.cs
- IISMapPath.cs
- HMACRIPEMD160.cs
- XmlDigitalSignatureProcessor.cs
- TextHintingModeValidation.cs
- EnumBuilder.cs
- Console.cs
- EntityContainerEntitySet.cs
- XamlPathDataSerializer.cs
- SmiMetaData.cs
- UndoManager.cs
- CLSCompliantAttribute.cs
- LoginDesignerUtil.cs
- NetNamedPipeBinding.cs
- FilteredAttributeCollection.cs
- ViewUtilities.cs
- ClockController.cs
- TextRangeBase.cs
- Simplifier.cs
- CurrentChangingEventManager.cs
- MaskedTextProvider.cs
- NavigatingCancelEventArgs.cs
- DisableDpiAwarenessAttribute.cs
- SQLUtility.cs
- DoubleAnimation.cs
- SmiEventSink_Default.cs
- LicenseManager.cs
- Application.cs
- BrowsableAttribute.cs
- DataRowCollection.cs
- XmlUTF8TextWriter.cs
- MetadataSerializer.cs
- SwitchLevelAttribute.cs
- DataGridViewRowsRemovedEventArgs.cs
- XmlEnumAttribute.cs
- MenuRenderer.cs
- CustomCredentialPolicy.cs
- DataContractSerializerMessageContractImporter.cs
- DataListItemCollection.cs
- SafeEventLogWriteHandle.cs
- SqlExpander.cs
- MemberHolder.cs
- XmlNamespaceManager.cs
- PeerInvitationResponse.cs
- List.cs
- ReferentialConstraint.cs
- AcceptorSessionSymmetricMessageSecurityProtocol.cs
- SkinBuilder.cs
- MessageContractExporter.cs
- srgsitem.cs
- FrameworkContentElement.cs
- XomlSerializationHelpers.cs
- HtmlInputSubmit.cs
- AuthenticateEventArgs.cs
- ThreadLocal.cs
- WrappedKeySecurityTokenParameters.cs
- PerformanceCounterLib.cs
- DispatcherExceptionFilterEventArgs.cs
- SimpleBitVector32.cs
- Track.cs
- NamespaceExpr.cs
- Function.cs
- DynamicILGenerator.cs
- ControlBuilder.cs
- DrawingContext.cs
- PublisherIdentityPermission.cs
- CurrencyManager.cs
- HttpListenerContext.cs
- SqlClientPermission.cs
- MenuItemBindingCollection.cs
- Metafile.cs
- PersistenceTypeAttribute.cs
- ResetableIterator.cs
- RootAction.cs