Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// 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
- ExternalException.cs
- TablePattern.cs
- DragCompletedEventArgs.cs
- CacheChildrenQuery.cs
- OrderedDictionaryStateHelper.cs
- embossbitmapeffect.cs
- SqlFunctionAttribute.cs
- XmlDownloadManager.cs
- DataGridViewCellErrorTextNeededEventArgs.cs
- SendingRequestEventArgs.cs
- BitVec.cs
- precedingquery.cs
- TransactionProxy.cs
- ClassicBorderDecorator.cs
- HandlerFactoryCache.cs
- BoundField.cs
- ColumnBinding.cs
- Column.cs
- Int32AnimationUsingKeyFrames.cs
- LineServicesRun.cs
- ColumnReorderedEventArgs.cs
- ManipulationBoundaryFeedbackEventArgs.cs
- BaseComponentEditor.cs
- ProfileSection.cs
- DetectEofStream.cs
- ScrollEvent.cs
- GridViewEditEventArgs.cs
- GridViewRowCollection.cs
- SizeChangedEventArgs.cs
- DefaultPropertyAttribute.cs
- bidPrivateBase.cs
- ValueType.cs
- Propagator.JoinPropagator.cs
- Scene3D.cs
- MenuRendererClassic.cs
- ParseChildrenAsPropertiesAttribute.cs
- ProfileModule.cs
- CompositionDesigner.cs
- ResourceManager.cs
- SHA1.cs
- FamilyTypefaceCollection.cs
- Bezier.cs
- ClusterRegistryConfigurationProvider.cs
- DurationConverter.cs
- BaseValidatorDesigner.cs
- IriParsingElement.cs
- SafeSystemMetrics.cs
- ObjectResult.cs
- httpapplicationstate.cs
- RbTree.cs
- Win32Interop.cs
- ObjectIDGenerator.cs
- MruCache.cs
- PathSegment.cs
- XmlImplementation.cs
- DataTableClearEvent.cs
- EntityModelBuildProvider.cs
- WmlTextViewAdapter.cs
- FastEncoder.cs
- Menu.cs
- ToolboxItemCollection.cs
- DateTimeOffsetConverter.cs
- TransformGroup.cs
- CharAnimationUsingKeyFrames.cs
- RelationshipEndMember.cs
- AssemblyResourceLoader.cs
- ClockController.cs
- TextParagraphProperties.cs
- ServiceProviders.cs
- DataList.cs
- DataGridViewCheckBoxColumn.cs
- AsyncDataRequest.cs
- BitmapData.cs
- ReferencedAssembly.cs
- BackgroundFormatInfo.cs
- XmlJsonWriter.cs
- QilSortKey.cs
- ComplusTypeValidator.cs
- TextRangeProviderWrapper.cs
- SystemIPv4InterfaceProperties.cs
- COM2ExtendedBrowsingHandler.cs
- MSAANativeProvider.cs
- CqlWriter.cs
- RichTextBoxDesigner.cs
- XPathNavigatorKeyComparer.cs
- PartialList.cs
- SelectionPattern.cs
- Double.cs
- TypefaceMap.cs
- ExpressionCopier.cs
- cryptoapiTransform.cs
- JsonClassDataContract.cs
- WebPartTransformerCollection.cs
- MenuItemStyleCollection.cs
- DataTableNameHandler.cs
- MimeTypeAttribute.cs
- SubtreeProcessor.cs
- path.cs
- WebPartHeaderCloseVerb.cs
- Fonts.cs