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
- DebugView.cs
- PatternMatcher.cs
- IsolatedStoragePermission.cs
- jithelpers.cs
- RecipientServiceModelSecurityTokenRequirement.cs
- PermissionToken.cs
- Token.cs
- ConstraintCollection.cs
- XmlSchemaFacet.cs
- DataReceivedEventArgs.cs
- TypeInfo.cs
- ThicknessAnimation.cs
- ExceptionUtil.cs
- QueryableDataSourceHelper.cs
- ProfileSettingsCollection.cs
- MULTI_QI.cs
- GeneralTransform3DGroup.cs
- StylusTip.cs
- TextRunTypographyProperties.cs
- OleDbReferenceCollection.cs
- NavigationWindow.cs
- SiteMapPath.cs
- XhtmlBasicValidationSummaryAdapter.cs
- EntityDesignerDataSourceView.cs
- ModifyActivitiesPropertyDescriptor.cs
- CopyNodeSetAction.cs
- SuppressMergeCheckAttribute.cs
- ImageBrush.cs
- FileChangesMonitor.cs
- TimelineGroup.cs
- BaseInfoTable.cs
- wgx_commands.cs
- ListBox.cs
- VectorValueSerializer.cs
- Int64AnimationBase.cs
- StaticResourceExtension.cs
- FaultPropagationRecord.cs
- HttpListener.cs
- SmiTypedGetterSetter.cs
- WizardPanel.cs
- SymbolMethod.cs
- SafeEventLogReadHandle.cs
- DataMemberFieldEditor.cs
- WebBrowsableAttribute.cs
- JavascriptCallbackMessageInspector.cs
- ApplicationServiceManager.cs
- WindowsListViewItem.cs
- OdbcRowUpdatingEvent.cs
- TextHidden.cs
- ThicknessAnimationUsingKeyFrames.cs
- ConfigurationSectionGroupCollection.cs
- Message.cs
- WsatConfiguration.cs
- XDRSchema.cs
- WindowsToolbarAsMenu.cs
- ErrorHandler.cs
- CheckPair.cs
- RegistryKey.cs
- BaseTemplateBuildProvider.cs
- DotAtomReader.cs
- ToolTipService.cs
- Blend.cs
- ConnectorRouter.cs
- DoubleKeyFrameCollection.cs
- InstancePersistenceContext.cs
- XmlCharacterData.cs
- DataGridViewRowPrePaintEventArgs.cs
- MachineSettingsSection.cs
- ToolbarAUtomationPeer.cs
- DataSourceCacheDurationConverter.cs
- ICollection.cs
- TemplateParser.cs
- XmlSignatureManifest.cs
- StrongNameIdentityPermission.cs
- BooleanSwitch.cs
- DataTransferEventArgs.cs
- AuthenticationModulesSection.cs
- CustomAttributeSerializer.cs
- XmlWrappingReader.cs
- IriParsingElement.cs
- EnumType.cs
- SchemaImporter.cs
- StorageScalarPropertyMapping.cs
- UTF7Encoding.cs
- WeakReferenceEnumerator.cs
- ScriptReferenceBase.cs
- GiveFeedbackEvent.cs
- XmlCharacterData.cs
- SystemIPAddressInformation.cs
- ChtmlMobileTextWriter.cs
- PropertyEmitter.cs
- TableRow.cs
- FontDriver.cs
- EditableRegion.cs
- JsonStringDataContract.cs
- Pair.cs
- Mappings.cs
- BatchStream.cs
- DeclarativeCatalogPartDesigner.cs
- WebServiceMethodData.cs