Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / Configuration / GacUtil.cs / 1305376 / 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; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- WebPartHeaderCloseVerb.cs
- XhtmlTextWriter.cs
- ProcessModelSection.cs
- VisualTreeHelper.cs
- TraceContext.cs
- BasicCellRelation.cs
- StrongName.cs
- LOSFormatter.cs
- MeasureItemEvent.cs
- AddInSegmentDirectoryNotFoundException.cs
- SmiEventStream.cs
- ObjectListField.cs
- SqlClientWrapperSmiStreamChars.cs
- GenericTypeParameterConverter.cs
- HttpCacheVaryByContentEncodings.cs
- Selector.cs
- MeasurementDCInfo.cs
- WebSysDisplayNameAttribute.cs
- EmptyImpersonationContext.cs
- EventEntry.cs
- MergeFilterQuery.cs
- SmtpNegotiateAuthenticationModule.cs
- PathGeometry.cs
- OutputCacheSection.cs
- ScrollChrome.cs
- TextFindEngine.cs
- HttpCacheVary.cs
- BindingValueChangedEventArgs.cs
- BindableAttribute.cs
- DependencyPropertyKey.cs
- Line.cs
- ReliableMessagingVersion.cs
- PropertyPushdownHelper.cs
- RolePrincipal.cs
- FileUpload.cs
- MimeTypeMapper.cs
- ResourceLoader.cs
- XamlClipboardData.cs
- CustomBindingElement.cs
- Evaluator.cs
- MarkupExtensionSerializer.cs
- BehaviorEditorPart.cs
- BooleanAnimationUsingKeyFrames.cs
- Material.cs
- TemplatePagerField.cs
- DisplayInformation.cs
- BuildResult.cs
- PointAnimationUsingPath.cs
- TextEditorMouse.cs
- InitializeCorrelation.cs
- OneOfScalarConst.cs
- SctClaimSerializer.cs
- SingleStorage.cs
- LinkedList.cs
- DataGridToolTip.cs
- EntityDataSourceEntityTypeFilterConverter.cs
- ConnectorEditor.cs
- JsonCollectionDataContract.cs
- RawStylusActions.cs
- Vector3DKeyFrameCollection.cs
- PageRequestManager.cs
- __Filters.cs
- OutputCacheProfileCollection.cs
- PointLight.cs
- MenuItemBinding.cs
- JumpPath.cs
- AssemblyResourceLoader.cs
- UserCancellationException.cs
- CryptoHandle.cs
- CompilerParameters.cs
- SystemUnicastIPAddressInformation.cs
- DocumentViewer.cs
- QilTernary.cs
- FixedHighlight.cs
- SByte.cs
- HitTestFilterBehavior.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- DrawingContextWalker.cs
- Exception.cs
- DateTimeOffsetStorage.cs
- Attributes.cs
- ProcessModelInfo.cs
- ModelUIElement3D.cs
- SafeMarshalContext.cs
- NullableFloatSumAggregationOperator.cs
- StylusEventArgs.cs
- XmlQueryRuntime.cs
- SwitchLevelAttribute.cs
- SqlConnectionString.cs
- StyleReferenceConverter.cs
- DeviceContexts.cs
- ObjectToken.cs
- ListViewInsertedEventArgs.cs
- GeneralTransform3DGroup.cs
- BaseParaClient.cs
- _PooledStream.cs
- SecurityIdentifierConverter.cs
- Validator.cs
- SpellerStatusTable.cs
- sitestring.cs