Example #1
0
 public PackageAssembly(string assemblyName, Rule rule, NativeManifest policyManifest)
 {
     Name = assemblyName;
     Rule = rule;
     _assemblyManifest = policyManifest;
     _isPolicy = true;
     _files = Enumerable.Empty<FileEntry>();
 }
        protected override unsafe void DisposeUnmanaged()
        {
            base.DisposeUnmanaged();

            if (Handle == null || Handle.IsInvalid)
            {
                return;
            }
            Handle.Dispose();
            Handle = null;
        }
Example #3
0
        private void CreateNativeAssemblyPolicies()
        {
            var nativeAssemblies = Assemblies.Where(each => each.IsNative).ToArray();
            foreach (var nativeAssembly in nativeAssemblies) {
                foreach (var oldVersion in _versionRedirects) {
                    var policyAssemblyName = "policy.{0}.{1}".format(oldVersion.ToString(), nativeAssembly.Name);

                    var policyManifest = new NativeManifest(null) {
                        AssemblyName = policyAssemblyName,
                        AssemblyArchitecture = Architecture,
                        AssemblyPublicKeyToken = PublicKeyToken,
                        AssemblyType = AssemblyType.win32policy,
                        AssemblyVersion = Version
                    };
                    policyManifest.AddDependency(nativeAssembly.Name, 0L, Architecture, PublicKeyToken, "*", AssemblyType.win32, BindingRedirect);

                    Assemblies.Add(new PackageAssembly(policyAssemblyName, null, policyManifest));
                }
            }
        }