Code:
/ 4.0 / 4.0 / 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. //------------------------------------------------------------------------------ //// 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
- LazyTextWriterCreator.cs
- DependencyObjectCodeDomSerializer.cs
- IndicFontClient.cs
- BrowserInteropHelper.cs
- safesecurityhelperavalon.cs
- IndexOutOfRangeException.cs
- OneOfConst.cs
- DataServiceResponse.cs
- WindowVisualStateTracker.cs
- xamlnodes.cs
- EasingQuaternionKeyFrame.cs
- CollectionViewProxy.cs
- XamlWriter.cs
- DataShape.cs
- GeometryGroup.cs
- embossbitmapeffect.cs
- XmlSchemaGroupRef.cs
- StringResourceManager.cs
- DataPagerFieldCommandEventArgs.cs
- UriTemplateVariableQueryValue.cs
- MarkupObject.cs
- WindowsAuthenticationEventArgs.cs
- DirectionalLight.cs
- SupportsPreviewControlAttribute.cs
- WebConfigurationHostFileChange.cs
- Function.cs
- PrintingPermission.cs
- OpenTypeLayoutCache.cs
- NetMsmqBinding.cs
- _WinHttpWebProxyDataBuilder.cs
- WebPartMenuStyle.cs
- CheckBox.cs
- LongTypeConverter.cs
- DataGridCellEditEndingEventArgs.cs
- ViewPort3D.cs
- PageParser.cs
- List.cs
- DesignTimeTemplateParser.cs
- DataObjectEventArgs.cs
- EraserBehavior.cs
- DeviceSpecific.cs
- TimeZone.cs
- HttpPostProtocolReflector.cs
- ActivationServices.cs
- TextParagraph.cs
- SyndicationDeserializer.cs
- TextDocumentView.cs
- TargetException.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- AllMembershipCondition.cs
- MouseButtonEventArgs.cs
- DataGridPageChangedEventArgs.cs
- LinqDataSource.cs
- URLIdentityPermission.cs
- SafeNativeMethods.cs
- MarkupExtensionReturnTypeAttribute.cs
- DecoratedNameAttribute.cs
- InsufficientExecutionStackException.cs
- GC.cs
- EntryIndex.cs
- isolationinterop.cs
- WebPartDescriptionCollection.cs
- Decorator.cs
- StrongName.cs
- BlurBitmapEffect.cs
- Compiler.cs
- RelationshipEnd.cs
- LayoutInformation.cs
- ListViewEditEventArgs.cs
- Input.cs
- ThreadStartException.cs
- EncryptedKey.cs
- WorkflowHostingEndpoint.cs
- FileLogRecordEnumerator.cs
- PriorityChain.cs
- SqlWriter.cs
- URLAttribute.cs
- LineBreakRecord.cs
- Sequence.cs
- TypeDescriptor.cs
- StatusBar.cs
- DataContract.cs
- Journaling.cs
- AssociativeAggregationOperator.cs
- ScriptResourceInfo.cs
- ResourceReader.cs
- ApplyImportsAction.cs
- ISO2022Encoding.cs
- SQLConvert.cs
- DropSource.cs
- AtlasWeb.Designer.cs
- WorkflowInstance.cs
- DeclarativeExpressionConditionDeclaration.cs
- XmlBinaryReader.cs
- HtmlElement.cs
- DoWorkEventArgs.cs
- TraceSource.cs
- XmlLinkedNode.cs
- DataListItem.cs
- WindowsNonControl.cs