Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- RadioButtonAutomationPeer.cs
- SHA1CryptoServiceProvider.cs
- ProtocolsConfigurationEntry.cs
- OutputCacheModule.cs
- StringBuilder.cs
- BooleanAnimationUsingKeyFrames.cs
- AppSettingsExpressionBuilder.cs
- SrgsText.cs
- xamlnodes.cs
- PropertyToken.cs
- SystemIcmpV4Statistics.cs
- ConnectionStringsExpressionBuilder.cs
- CodeIterationStatement.cs
- TreeViewItemAutomationPeer.cs
- AspNetPartialTrustHelpers.cs
- RightsManagementInformation.cs
- Geometry3D.cs
- DispatcherTimer.cs
- VBCodeProvider.cs
- GridItemCollection.cs
- SchemaElementLookUpTable.cs
- SettingsBindableAttribute.cs
- SettingsProviderCollection.cs
- CodeObjectCreateExpression.cs
- CompilationSection.cs
- XmlComment.cs
- CustomError.cs
- Document.cs
- Floater.cs
- PointLightBase.cs
- DataGridColumn.cs
- EmptyEnumerable.cs
- ReadOnlyCollection.cs
- SchemaUtility.cs
- TargetFrameworkAttribute.cs
- ApplicationCommands.cs
- LinkAreaEditor.cs
- SHA384Managed.cs
- ApplicationDirectory.cs
- FontDialog.cs
- RegistryKey.cs
- SendMailErrorEventArgs.cs
- ValidatedControlConverter.cs
- BuildManager.cs
- assertwrapper.cs
- TransportSecurityHelpers.cs
- PersistenceContextEnlistment.cs
- SqlExpressionNullability.cs
- SchemaTableOptionalColumn.cs
- QueryRewriter.cs
- ECDiffieHellmanCngPublicKey.cs
- RoutingChannelExtension.cs
- TimersDescriptionAttribute.cs
- wpf-etw.cs
- AppDomainInfo.cs
- JsonSerializer.cs
- RequestCachePolicy.cs
- SafeEventLogWriteHandle.cs
- RenderContext.cs
- ConfigXmlCDataSection.cs
- TextDpi.cs
- PeerNameRegistration.cs
- SearchForVirtualItemEventArgs.cs
- XmlAggregates.cs
- ComboBoxHelper.cs
- HGlobalSafeHandle.cs
- _FtpControlStream.cs
- AlignmentXValidation.cs
- Hash.cs
- PathGradientBrush.cs
- XslTransform.cs
- ValidatingPropertiesEventArgs.cs
- DmlSqlGenerator.cs
- ExceptionHelpers.cs
- FileUpload.cs
- PhysicalOps.cs
- ThreadStateException.cs
- HtmlControlPersistable.cs
- RepeaterItemEventArgs.cs
- WebBrowserNavigatedEventHandler.cs
- WebServiceParameterData.cs
- VarInfo.cs
- ObjectItemAssemblyLoader.cs
- ConsoleCancelEventArgs.cs
- ProxyDataContractResolver.cs
- Validator.cs
- LoginName.cs
- NamespaceListProperty.cs
- WebHttpElement.cs
- WebBrowserNavigatingEventHandler.cs
- WorkflowPrinting.cs
- CatalogPart.cs
- XmlTextAttribute.cs
- Funcletizer.cs
- Serializer.cs
- LocatorPart.cs
- ImportContext.cs
- X509PeerCertificateElement.cs
- HashMembershipCondition.cs
- SourceSwitch.cs