[System.Security.SecurityCritical] // auto-generated private void CommitApplicationTrust(ApplicationIdentity applicationIdentity, string trustXml) { StoreOperationMetadataProperty[] properties = new StoreOperationMetadataProperty[] { new StoreOperationMetadataProperty(ClrPropertySet, ApplicationTrustProperty, trustXml) }; IEnumDefinitionIdentity idenum = applicationIdentity.Identity.EnumAppPath(); IDefinitionIdentity[] asbId = new IDefinitionIdentity[1]; IDefinitionIdentity deplId = null; if (idenum.Next(1, asbId) == 1) { deplId = asbId[0]; } IDefinitionAppId defAppId = IsolationInterop.AppIdAuthority.CreateDefinition(); defAppId.SetAppPath(1, new IDefinitionIdentity[] { deplId }); defAppId.put_Codebase(applicationIdentity.CodeBase); using (StoreTransaction storeTxn = new StoreTransaction()) { storeTxn.Add(new StoreOperationSetDeploymentMetadata(defAppId, InstallReference, properties)); RefreshStorePointer(); m_pStore.Transact(storeTxn.Operations); } m_appTrusts = null; // reset the app trusts in the collection. }
private void CommitApplicationTrust(ApplicationIdentity applicationIdentity, string trustXml) { StoreOperationMetadataProperty[] setProperties = new StoreOperationMetadataProperty[] { new StoreOperationMetadataProperty(ApplicationTrustCollection.ClrPropertySet, "ApplicationTrust", trustXml) }; IEnumDefinitionIdentity enumDefinitionIdentity = applicationIdentity.Identity.EnumAppPath(); IDefinitionIdentity[] array = new IDefinitionIdentity[1]; IDefinitionIdentity definitionIdentity = null; if (enumDefinitionIdentity.Next(1U, array) == 1U) { definitionIdentity = array[0]; } IDefinitionAppId definitionAppId = IsolationInterop.AppIdAuthority.CreateDefinition(); definitionAppId.SetAppPath(1U, new IDefinitionIdentity[] { definitionIdentity }); definitionAppId.put_Codebase(applicationIdentity.CodeBase); using (StoreTransaction storeTransaction = new StoreTransaction()) { storeTransaction.Add(new StoreOperationSetDeploymentMetadata(definitionAppId, ApplicationTrustCollection.InstallReference, setProperties)); this.RefreshStorePointer(); this.m_pStore.Transact(storeTransaction.Operations); } this.m_appTrusts = null; }
private void CreateFromName(ApplicationIdentity applicationIdentity) { if (applicationIdentity == null) { throw new ArgumentNullException("applicationIdentity"); } this._applicationIdentity = applicationIdentity; IEnumDefinitionIdentity identity = this._applicationIdentity.Identity.EnumAppPath(); this._definitionIdentities = new ArrayList(2); IDefinitionIdentity[] definitionIdentity = new IDefinitionIdentity[1]; while (identity.Next(1, definitionIdentity) == 1) { this._definitionIdentities.Add(definitionIdentity[0]); } this._definitionIdentities.TrimToSize(); if (this._definitionIdentities.Count <= 1) { throw new ArgumentException(Environment.GetResourceString("Argument_InvalidAppId")); } this._manifestPaths = null; this._manifests = null; this._actContext = IsolationInterop.CreateActContext(this._applicationIdentity.Identity); this._form = ContextForm.StoreBounded; this._appRunState = ApplicationStateDisposition.Undefined; }
private void CommitApplicationTrust(ApplicationIdentity applicationIdentity, string trustXml) { StoreOperationMetadataProperty[] SetProperties = new StoreOperationMetadataProperty[1] { new StoreOperationMetadataProperty(ApplicationTrustCollection.ClrPropertySet, "ApplicationTrust", trustXml) }; IEnumDefinitionIdentity definitionIdentity1 = applicationIdentity.Identity.EnumAppPath(); IDefinitionIdentity[] definitionIdentityArray = new IDefinitionIdentity[1]; IDefinitionIdentity definitionIdentity2 = (IDefinitionIdentity)null; int num = 1; IDefinitionIdentity[] DefinitionIdentity = definitionIdentityArray; if ((int)definitionIdentity1.Next((uint)num, DefinitionIdentity) == 1) { definitionIdentity2 = definitionIdentityArray[0]; } IDefinitionAppId definition = IsolationInterop.AppIdAuthority.CreateDefinition(); definition.SetAppPath(1U, new IDefinitionIdentity[1] { definitionIdentity2 }); definition.put_Codebase(applicationIdentity.CodeBase); using (StoreTransaction storeTransaction = new StoreTransaction()) { storeTransaction.Add(new StoreOperationSetDeploymentMetadata(definition, ApplicationTrustCollection.InstallReference, SetProperties)); this.RefreshStorePointer(); this.m_pStore.Transact(storeTransaction.Operations); } this.m_appTrusts = (object)null; }
internal EnumDefinitionIdentity(IEnumDefinitionIdentity e) { if (e == null) { throw new ArgumentNullException(); } this._enum = e; }
private void CreateFromNameAndManifests(ApplicationIdentity applicationIdentity, string[] manifestPaths) { if (applicationIdentity == null) { throw new ArgumentNullException("applicationIdentity"); } if (manifestPaths == null) { throw new ArgumentNullException("manifestPaths"); } this._applicationIdentity = applicationIdentity; IEnumDefinitionIdentity identity = this._applicationIdentity.Identity.EnumAppPath(); this._manifests = new ArrayList(2); this._manifestPaths = new string[manifestPaths.Length]; IDefinitionIdentity[] definitionIdentity = new IDefinitionIdentity[1]; int index = 0; while (identity.Next(1, definitionIdentity) == 1) { ICMS icms = (ICMS)IsolationInterop.ParseManifest(manifestPaths[index], null, ref IsolationInterop.IID_ICMS); if (!IsolationInterop.IdentityAuthority.AreDefinitionsEqual(0, icms.Identity, definitionIdentity[0])) { throw new ArgumentException(Environment.GetResourceString("Argument_IllegalAppIdMismatch")); } this._manifests.Add(icms); this._manifestPaths[index] = manifestPaths[index]; index++; } if (index != manifestPaths.Length) { throw new ArgumentException(Environment.GetResourceString("Argument_IllegalAppId")); } this._manifests.TrimToSize(); if (this._manifests.Count <= 1) { throw new ArgumentException(Environment.GetResourceString("Argument_InvalidAppId")); } this._definitionIdentities = null; this._actContext = null; this._form = ContextForm.Loose; this._appRunState = ApplicationStateDisposition.Undefined; }
private void CreateFromName(ApplicationIdentity applicationIdentity) { if (applicationIdentity == null) { throw new ArgumentNullException("applicationIdentity"); } Contract.EndContractBlock(); _applicationIdentity = applicationIdentity; IEnumDefinitionIdentity idenum = _applicationIdentity.Identity.EnumAppPath(); _definitionIdentities = new ArrayList(DefaultComponentCount); IDefinitionIdentity[] asbId = new IDefinitionIdentity[1]; while (idenum.Next(1, asbId) == 1) { _definitionIdentities.Add(asbId[0]); } _definitionIdentities.TrimToSize(); if (_definitionIdentities.Count <= 1) { #if ISOLATION_IN_MSCORLIB throw new ArgumentException(Environment.GetResourceString("Argument_InvalidAppId")); #else throw new ArgumentException("Invalid identity: no deployment/app identity specified"); #endif } _manifestPaths = null; _manifests = null; // Construct real IActContext from store. _actContext = IsolationInterop.CreateActContext(_applicationIdentity.Identity); _form = ContextForm.StoreBounded; _appRunState = ApplicationStateDisposition.Undefined; #if ISOLATION_IN_MSCORLIB Contract.Assert(_definitionIdentities.Count == 2, "An application must have exactly 1 deployment component and 1 application component in Whidbey"); #endif }
private DefinitionIdentity PathComponent(uint index) { IEnumDefinitionIdentity definitionIdentity = (IEnumDefinitionIdentity)null; try { definitionIdentity = this._idComPtr.EnumAppPath(); if (index > 0U) { definitionIdentity.Skip(index); } IDefinitionIdentity[] DefinitionIdentity = new IDefinitionIdentity[1]; return((int)definitionIdentity.Next(1U, DefinitionIdentity) == 1 ? new DefinitionIdentity(DefinitionIdentity[0]) : (DefinitionIdentity)null); } finally { if (definitionIdentity != null) { Marshal.ReleaseComObject((object)definitionIdentity); } } }
private void CommitApplicationTrust(ApplicationIdentity applicationIdentity, string trustXml) { StoreOperationMetadataProperty[] setProperties = new StoreOperationMetadataProperty[] { new StoreOperationMetadataProperty(ClrPropertySet, "ApplicationTrust", trustXml) }; IEnumDefinitionIdentity identity = applicationIdentity.Identity.EnumAppPath(); IDefinitionIdentity[] definitionIdentity = new IDefinitionIdentity[1]; IDefinitionIdentity identity2 = null; if (identity.Next(1, definitionIdentity) == 1) { identity2 = definitionIdentity[0]; } IDefinitionAppId deployment = IsolationInterop.AppIdAuthority.CreateDefinition(); deployment.SetAppPath(1, new IDefinitionIdentity[] { identity2 }); deployment.put_Codebase(applicationIdentity.CodeBase); using (StoreTransaction transaction = new StoreTransaction()) { transaction.Add(new StoreOperationSetDeploymentMetadata(deployment, InstallReference, setProperties)); this.RefreshStorePointer(); this.m_pStore.Transact(transaction.Operations); } this.m_appTrusts = null; }
internal EnumDefinitionIdentity(IEnumDefinitionIdentity e) { if (e == null) throw new ArgumentNullException(); _enum = e; }
private void CreateFromNameAndManifests(ApplicationIdentity applicationIdentity, string[] manifestPaths) { if (applicationIdentity == null) { throw new ArgumentNullException("applicationIdentity"); } if (manifestPaths == null) { throw new ArgumentNullException("manifestPaths"); } Contract.EndContractBlock(); _applicationIdentity = applicationIdentity; // ISSUE - need validation on manifestPaths IEnumDefinitionIdentity idenum = _applicationIdentity.Identity.EnumAppPath(); _manifests = new ArrayList(DefaultComponentCount); _manifestPaths = new String[manifestPaths.Length]; IDefinitionIdentity[] asbId = new IDefinitionIdentity[1]; int i = 0; while (idenum.Next(1, asbId) == 1) { ICMS cms = (ICMS)IsolationInterop.ParseManifest(manifestPaths[i], null, ref IsolationInterop.IID_ICMS); if (IsolationInterop.IdentityAuthority.AreDefinitionsEqual(0, cms.Identity, asbId[0])) { _manifests.Add(cms); _manifestPaths[i] = manifestPaths[i]; } else { #if ISOLATION_IN_MSCORLIB throw new ArgumentException(Environment.GetResourceString("Argument_IllegalAppIdMismatch")); #else throw new ArgumentException("Application Identity does not match identity in manifests"); #endif } i++; } if (i != manifestPaths.Length) { #if ISOLATION_IN_MSCORLIB throw new ArgumentException(Environment.GetResourceString("Argument_IllegalAppId")); #else throw new ArgumentException("Application Identity does not have same number of components as manifest paths"); #endif } _manifests.TrimToSize(); if (_manifests.Count <= 1) { #if ISOLATION_IN_MSCORLIB throw new ArgumentException(Environment.GetResourceString("Argument_InvalidAppId")); #else throw new ArgumentException("Invalid identity: no deployment/app identity specified"); #endif } _definitionIdentities = null; _actContext = null; _form = ContextForm.Loose; _appRunState = ApplicationStateDisposition.Undefined; #if ISOLATION_IN_MSCORLIB Contract.Assert(_manifests.Count == 2, "An application must have exactly 1 deployment component and 1 application component in Whidbey"); #endif }