Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / Tools / xws_reg / System / ServiceModel / Install / InfoCardServiceInstallComponent.cs / 1 / InfoCardServiceInstallComponent.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.Install { using Microsoft.Win32; using System.ServiceProcess; class InfoCardServiceInstallComponent : ServiceInstallComponent { public InfoCardServiceInstallComponent() : base(ServiceModelInstallStrings.InfoCardServiceName, ServiceModelInstallStrings.LegacyInfoCardServiceName, SR.GetString(SR.InfoCardServiceDisplayName), ServiceStartMode.Manual, ServiceModelInstallStrings.InfoCardServiceExeName, null, null, null, SR.GetString(SR.InfoCardServiceDescription), ServiceModelInstallStrings.InfoCardServiceSecurityDescriptor) { // empty } protected override void OnInstall(OutputLevel outputLevel) { base.OnInstall(outputLevel); this.SetExtendedProperties(); } protected override void OnReinstall(OutputLevel outputLevel) { base.OnReinstall(outputLevel); this.SetExtendedProperties(); } void SetExtendedProperties() { // Configure the infocard service on LH+ by stripping privileges and applying network rules if (OSEnvironmentHelper.IsVistaOrGreater) { // // We set the service name in the constructor, hence use this.ServiceName // ExecuteSC( "privs " + this.ServiceName + " SeTcbPrivilege/SeAssignPrimaryTokenPrivilege/SeTakeOwnershipPrivilege/SeBackupPrivilege/SeRestorePrivilege/SeImpersonatePrivilege" ); // Setup network rules to allow all outgoing over tcp only and disable all incoming. using (RegistryKey key = Registry.LocalMachine.OpenSubKey(ServiceModelInstallStrings.InfoCardNetworkRestrictionKey, true)) { key.SetValue(ServiceModelInstallStrings.InfoCardBlockInRegKeyName, ServiceModelInstallStrings.InfoCardBlockInRegKeyValue); key.SetValue(ServiceModelInstallStrings.InfoCardAllowTcpOutRegKeyName, ServiceModelInstallStrings.InfoCardAllowTcpOutRegKeyValue); key.SetValue(ServiceModelInstallStrings.InfoCardBlockOtherOutRegKeyName, ServiceModelInstallStrings.InfoCardBlockOtherOutRegKeyValue); } } } protected override void OnUninstall(OutputLevel outputLevel) { base.OnUninstall(outputLevel); // Remove the infocard network restrictions if appropriate. if (OSEnvironmentHelper.IsVistaOrGreater) { InfoCardServiceInstallComponent .TryDeleteRegistryKeyValue(ServiceModelInstallStrings.InfoCardNetworkRestrictionKey, ServiceModelInstallStrings.InfoCardAllowTcpOutRegKeyName); InfoCardServiceInstallComponent .TryDeleteRegistryKeyValue(ServiceModelInstallStrings.InfoCardNetworkRestrictionKey, ServiceModelInstallStrings.InfoCardBlockInRegKeyName); InfoCardServiceInstallComponent .TryDeleteRegistryKeyValue(ServiceModelInstallStrings.InfoCardNetworkRestrictionKey, ServiceModelInstallStrings.InfoCardBlockOtherOutRegKeyName); } } static void TryDeleteRegistryKeyValue(string subKey, string valueName) { RegistryKey registryKey = Registry.LocalMachine.OpenSubKey(subKey, true); if (null != registryKey) { using (registryKey) { try { registryKey.DeleteValue(valueName); } catch (ArgumentException) { // ignore the exception if the value cannot be found } } } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CacheManager.cs
- FormatSettings.cs
- AuthorizationSection.cs
- MethodBody.cs
- BindingSource.cs
- StructuredTypeInfo.cs
- HwndHost.cs
- WindowAutomationPeer.cs
- TextContainerChangedEventArgs.cs
- ExtensionSimplifierMarkupObject.cs
- XPathNodeInfoAtom.cs
- Point3DAnimation.cs
- DynamicDataRouteHandler.cs
- FacetChecker.cs
- RemotingServices.cs
- ADMembershipUser.cs
- ManipulationPivot.cs
- SqlDependencyUtils.cs
- MessageHeaderT.cs
- TableStyle.cs
- WebSysDisplayNameAttribute.cs
- FastEncoderWindow.cs
- ContractSearchPattern.cs
- SerializationException.cs
- unsafeIndexingFilterStream.cs
- SpellerError.cs
- HttpContext.cs
- PerfCounterSection.cs
- OleDbWrapper.cs
- PageAsyncTaskManager.cs
- DataListItemEventArgs.cs
- VisualCollection.cs
- FormsAuthenticationUser.cs
- StrokeDescriptor.cs
- SkewTransform.cs
- _HelperAsyncResults.cs
- VectorCollectionValueSerializer.cs
- WebPartCollection.cs
- DocumentOutline.cs
- DispatcherObject.cs
- Baml2006ReaderContext.cs
- StylusButtonCollection.cs
- SemanticResultKey.cs
- SerialPort.cs
- ListViewUpdateEventArgs.cs
- WorkflowStateRollbackService.cs
- EventItfInfo.cs
- XsltSettings.cs
- TargetInvocationException.cs
- ElementHost.cs
- OdbcStatementHandle.cs
- SurrogateEncoder.cs
- Propagator.Evaluator.cs
- UnicodeEncoding.cs
- EntityDataSourceMemberPath.cs
- GZipStream.cs
- Validator.cs
- XmlSchemaSimpleTypeUnion.cs
- Win32.cs
- ConfigXmlElement.cs
- DomNameTable.cs
- KoreanCalendar.cs
- TreeIterator.cs
- UnionExpr.cs
- CapabilitiesRule.cs
- DataGridViewColumnEventArgs.cs
- Pool.cs
- DocumentXmlWriter.cs
- DynamicFilter.cs
- ClientScriptManagerWrapper.cs
- TimelineGroup.cs
- latinshape.cs
- RepeatBehaviorConverter.cs
- FormsAuthenticationUserCollection.cs
- nulltextnavigator.cs
- WmlPanelAdapter.cs
- EventLogPermissionEntryCollection.cs
- DefaultValueMapping.cs
- OleDbCommand.cs
- XsdCachingReader.cs
- WpfWebRequestHelper.cs
- Label.cs
- BaseParser.cs
- PrivilegeNotHeldException.cs
- ProfilePropertySettingsCollection.cs
- RedirectionProxy.cs
- ToolstripProfessionalRenderer.cs
- PropagatorResult.cs
- Configuration.cs
- WmlLiteralTextAdapter.cs
- TextRangeEdit.cs
- MessageBox.cs
- DataGridViewColumnStateChangedEventArgs.cs
- Evaluator.cs
- TiffBitmapDecoder.cs
- SqlUserDefinedAggregateAttribute.cs
- Bitmap.cs
- XmlnsPrefixAttribute.cs
- EventToken.cs
- TimerElapsedEvenArgs.cs