예제 #1
0
 internal ReferenceAppId(System.Deployment.Internal.Isolation.IReferenceAppId id)
 {
     if (id == null)
     {
         throw new ArgumentNullException();
     }
     this._id = id;
 }
 internal ReferenceAppId(System.Deployment.Internal.Isolation.IReferenceAppId id)
 {
     if (id == null)
     {
         throw new ArgumentNullException();
     }
     this._id = id;
 }
        internal static System.Deployment.Internal.Isolation.IActContext CreateActContext(System.Deployment.Internal.Isolation.IReferenceAppId AppId)
        {
            CreateActContextParameters       parameters;
            CreateActContextParametersSource source;
            CreateActContextParametersSourceReferenceAppid appid;

            System.Deployment.Internal.Isolation.IActContext context;
            parameters.Size                      = (uint)Marshal.SizeOf(typeof(CreateActContextParameters));
            parameters.Flags                     = 0x10;
            parameters.CustomStoreList           = IntPtr.Zero;
            parameters.CultureFallbackList       = IntPtr.Zero;
            parameters.ProcessorArchitectureList = IntPtr.Zero;
            parameters.Source                    = IntPtr.Zero;
            parameters.ProcArch                  = 0;
            source.Size       = (uint)Marshal.SizeOf(typeof(CreateActContextParametersSource));
            source.Flags      = 0;
            source.SourceType = 2;
            source.Data       = IntPtr.Zero;
            appid.Size        = (uint)Marshal.SizeOf(typeof(CreateActContextParametersSourceReferenceAppid));
            appid.Flags       = 0;
            appid.AppId       = AppId;
            try
            {
                source.Data       = appid.ToIntPtr();
                parameters.Source = source.ToIntPtr();
                context           = CreateActContext(ref parameters) as System.Deployment.Internal.Isolation.IActContext;
            }
            finally
            {
                if (source.Data != IntPtr.Zero)
                {
                    CreateActContextParametersSourceDefinitionAppid.Destroy(source.Data);
                    source.Data = IntPtr.Zero;
                }
                if (parameters.Source != IntPtr.Zero)
                {
                    CreateActContextParametersSource.Destroy(parameters.Source);
                    parameters.Source = IntPtr.Zero;
                }
            }
            return(context);
        }
예제 #4
0
 public System.Deployment.Internal.Isolation.StoreDeploymentMetadataEnumeration EnumInstallerDeployments(Guid InstallerId, string InstallerName, string InstallerMetadata, System.Deployment.Internal.Isolation.IReferenceAppId DeploymentFilter)
 {
     System.Deployment.Internal.Isolation.StoreApplicationReference reference = new System.Deployment.Internal.Isolation.StoreApplicationReference(InstallerId, InstallerName, InstallerMetadata);
     return(new System.Deployment.Internal.Isolation.StoreDeploymentMetadataEnumeration((System.Deployment.Internal.Isolation.IEnumSTORE_DEPLOYMENT_METADATA) this._pStore.EnumInstallerDeploymentMetadata(0, ref reference, DeploymentFilter, ref System.Deployment.Internal.Isolation.IsolationInterop.IID_IEnumSTORE_DEPLOYMENT_METADATA)));
 }