Code:
/ DotNET / DotNET / 8.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
- WebBrowser.cs
- HTMLTextWriter.cs
- TextContainer.cs
- TableDetailsCollection.cs
- PrivilegedConfigurationManager.cs
- RuleSetCollection.cs
- EntityDataSourceEntityTypeFilterItem.cs
- WorkflowIdleElement.cs
- FocusTracker.cs
- MetadataCacheItem.cs
- AmbientValueAttribute.cs
- UserPreferenceChangedEventArgs.cs
- ComponentDispatcherThread.cs
- ContainerControlDesigner.cs
- WindowsMenu.cs
- FreeFormDragDropManager.cs
- Translator.cs
- CollectionEditor.cs
- Facet.cs
- StyleConverter.cs
- CatchBlock.cs
- DataGridViewRowCollection.cs
- ApplicationProxyInternal.cs
- MergeEnumerator.cs
- ProfileGroupSettings.cs
- Vector3DAnimation.cs
- TreeViewImageKeyConverter.cs
- FunctionQuery.cs
- LocalizableResourceBuilder.cs
- ProvidePropertyAttribute.cs
- COM2PropertyDescriptor.cs
- HostedTransportConfigurationManager.cs
- Item.cs
- Merger.cs
- GridItemPattern.cs
- ArrayElementGridEntry.cs
- HtmlString.cs
- ComboBoxItem.cs
- ReflectionUtil.cs
- BitmapEffectGeneralTransform.cs
- ActiveXContainer.cs
- DecoderBestFitFallback.cs
- VBIdentifierTrimConverter.cs
- GeneralTransform3D.cs
- SupportsEventValidationAttribute.cs
- DefaultValueAttribute.cs
- BitmapCodecInfo.cs
- ProjectedSlot.cs
- SystemInfo.cs
- DataListItemCollection.cs
- View.cs
- EdmComplexPropertyAttribute.cs
- EdmProviderManifest.cs
- PackageFilter.cs
- WebBrowserEvent.cs
- GetIndexBinder.cs
- IisTraceWebEventProvider.cs
- InheritanceService.cs
- TextContainerHelper.cs
- Int32.cs
- ControlFilterExpression.cs
- PointCollection.cs
- ModuleBuilderData.cs
- DocumentViewerConstants.cs
- DbProviderFactories.cs
- TextParaClient.cs
- DesignerActionGlyph.cs
- DocumentSchemaValidator.cs
- StringFreezingAttribute.cs
- HandlerFactoryWrapper.cs
- PenThread.cs
- DataGridColumnHeadersPresenterAutomationPeer.cs
- XamlTypeMapper.cs
- AspCompat.cs
- ObjectConverter.cs
- MsmqMessageProperty.cs
- ChineseLunisolarCalendar.cs
- XmlILOptimizerVisitor.cs
- SurrogateEncoder.cs
- Helpers.cs
- DrawingVisual.cs
- MappingMetadataHelper.cs
- Stream.cs
- AnnotationResourceChangedEventArgs.cs
- WebScriptEnablingElement.cs
- ActivityInstanceReference.cs
- _SSPIWrapper.cs
- XsltQilFactory.cs
- HWStack.cs
- LockCookie.cs
- UnsafeNativeMethods.cs
- ToolbarAUtomationPeer.cs
- XslAstAnalyzer.cs
- XmlWriterDelegator.cs
- DataControlCommands.cs
- SqlOuterApplyReducer.cs
- TypeResolvingOptions.cs
- LogicalTreeHelper.cs
- ImageKeyConverter.cs
- MobileUserControl.cs