Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / 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;
}
}
}
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- NameNode.cs
- XamlPoint3DCollectionSerializer.cs
- EntityDataSourceReferenceGroup.cs
- DataServiceHostWrapper.cs
- ProfileModule.cs
- AdornerHitTestResult.cs
- MenuItem.cs
- WindowsGraphicsCacheManager.cs
- CodeCompiler.cs
- FlowDocumentReader.cs
- ManipulationLogic.cs
- DesignBindingValueUIHandler.cs
- JsonDataContract.cs
- IdnElement.cs
- WebPartEventArgs.cs
- PolicyValidationException.cs
- QilIterator.cs
- IFormattable.cs
- DataSet.cs
- ToolStripScrollButton.cs
- GetBrowserTokenRequest.cs
- AQNBuilder.cs
- Panel.cs
- OutputScopeManager.cs
- _SSPISessionCache.cs
- IISMapPath.cs
- XmlSerializableReader.cs
- XmlDataCollection.cs
- EntityDataSourceWrapperCollection.cs
- DbConnectionStringBuilder.cs
- SqlXml.cs
- CalendarAutoFormat.cs
- DataPointer.cs
- CqlErrorHelper.cs
- ManagementObjectCollection.cs
- TextBoxAutomationPeer.cs
- CultureInfoConverter.cs
- PrintPreviewControl.cs
- MatrixTransform3D.cs
- DrawingContext.cs
- ConfigViewGenerator.cs
- RegistrationServices.cs
- Blend.cs
- NonClientArea.cs
- CompressStream.cs
- SessionStateUtil.cs
- MultiDataTrigger.cs
- RelationshipDetailsCollection.cs
- StrongNameUtility.cs
- CompositionAdorner.cs
- DateTimeAutomationPeer.cs
- Int32Rect.cs
- WrappedIUnknown.cs
- StandardOleMarshalObject.cs
- UserValidatedEventArgs.cs
- RotateTransform.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- ValidatingPropertiesEventArgs.cs
- RoutedUICommand.cs
- DataBoundControlAdapter.cs
- WebPartsPersonalizationAuthorization.cs
- MailWriter.cs
- RadioButtonStandardAdapter.cs
- StatusBarItemAutomationPeer.cs
- DrawingAttributes.cs
- SrgsElementFactory.cs
- Attributes.cs
- XmlWrappingReader.cs
- Internal.cs
- DatagridviewDisplayedBandsData.cs
- Registry.cs
- TagPrefixAttribute.cs
- BuildResult.cs
- PromptBuilder.cs
- HttpGetProtocolImporter.cs
- PrintPageEvent.cs
- VectorAnimation.cs
- WpfSharedXamlSchemaContext.cs
- CacheAxisQuery.cs
- Error.cs
- Win32SafeHandles.cs
- GPRECTF.cs
- StreamDocument.cs
- AnnotationObservableCollection.cs
- DiscoveryInnerClientManaged11.cs
- SchemaRegistration.cs
- serverconfig.cs
- EnterpriseServicesHelper.cs
- XmlRawWriter.cs
- ClientSettingsStore.cs
- FormatException.cs
- NullRuntimeConfig.cs
- ClrPerspective.cs
- SafeBitVector32.cs
- BinaryWriter.cs
- MailSettingsSection.cs
- EntityCommandExecutionException.cs
- GlobalItem.cs
- InvalidAsynchronousStateException.cs
- DataAdapter.cs