Articles of 清单

不允许请求的registry访问C#窗口应用程序

我正在创build一个窗口应用程序,我想向用户显示地图,但不幸的是我得到的错误 您正在使用Google地图不支持的浏览器 所以我google了这个问题,并从stackoverflowfind解决scheme 这里是解决scheme 我在这个项目中添加了一个清单文件 <?xml version="1.0" encoding="utf-8"?> <asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <!–<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">–> <assemblyIdentity version="1.0.0.0" name="MyApplication.app" /> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> <security> <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"> <requestedExecutionLevel level="highestAvailable" uiAccess="false" /> <!–<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />–> </requestedPrivileges> <applicationRequestMinimum> <PermissionSet Unrestricted="true" ID="Custom" SameSite="site" /> <defaultAssemblyRequest permissionSetReference="Custom" /> </applicationRequestMinimum> </security> </trustInfo> <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"> <application> </application> </compatibility> <!–</assembly>–> </asmv1:assembly> 和我的网页加载 […]

将清单embedded到exe文件失败,参数无效

我想将一个清单添加到.exe文件,以便它不会要求用户在Windows 7中以pipe理员身份运行。 我遵循这个教程 ,似乎正在做我想完成,除非我得到这个错误,当我这样做,我找不到解决scheme: mt.exe : general error c101008d: Failed to write the updated manifest to the resource of file "C:\install.exe". The parameter is incorrect. 这是我用的命令: mt.exe –manifest C:\install.exe.manifest -outputresource:C:\install.exe;1 任何帮助将非常感激,谢谢。

使用distutilembedded清单与C扩展DLL

当我通过distutil生成C扩展DLL时,首选的方式是什么? 目前,当我构build一个C扩展作为distutil进程的一部分时,它会创build一个清单和相应的* .pyd,但是当我使用dependency walker检查依赖项时, 但是,如果我手动embedded清单 mt -manifest jep.pyd.manifest -outputresource:jep.pyd;2 Microsoft (R) Manifest Tool version 6.2.9200.16384 Copyright (c) Microsoft Corporation 2012. All rights reserved. 依赖性得到满足 build议如何克服手动过程来embedded清单。 这可以通过distutil自动完成吗?

优势和缺点embedded舱单

什么是embedded 舱单的优点和缺点? 我知道embedded清单会减less需要复制的文件的数量,但还有其他什么效果?

在清单中指定公钥标记

我从SO中发布的答案中find了一个清单,并将其embedded到我的exe中,并做了小的修改。 它运作良好。 清单包含以下代码 version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*" 我怀疑这里是publickeyToken。 我发现在msdn链接关于公钥,并用我的证书令牌取代公钥,由Pktextract.exe提取。 但是,一旦我添加提取的公钥,就会出错。 使用上面的publicKeyToken="6595b64144ccf1df"有没有什么问题。 我应该使用同一个.. 或者有没有其他的方法来从我的清单中删除publickeytoken属性?

在同一个进程中加载​​一组DLL的多个副本

背景 我正在维护一个应用程序的插件。 我使用Visual C ++ 2003。 这个插件是由几个DLL组成的 – 这里有主DLL,应用程序使用LoadLibrary加载的DLL,主DLL和其他DLL使用了几个实用程序DLL。 依赖通常看起来像这样: plugin.dll – > utilA.dll,utilB.dll utilA.dll – > utilB.dll utilB.dll – > utilA.dll,utilC.dll 你得到的照片。 DLL之间的一些依赖关系是加载时间和一些运行时间。 所有的DLL文件都存储在可执行文件的目录中(不是必需的,现在它是如何工作的)。 问题 有一个新的要求 – 在应用程序中运行插件的多个实例。 应用程序在其自己的线程中运行插件的每个实例,即每个线程调用由plugin.dll导出的函数。 然而,插件的代码不是线程安全的 – 大量的全局variables等等。 不幸的是,修复整个事情目前还不是一个选项,所以我需要一种方法来在同一个进程中加载​​多个(最多3个)插件DLL的副本。 选项1:独特的名称方法 创build每个DLL文件的3个副本,以便每个文件具有不同的名称。 例如plugin1.dll,plugin2.dll,plugin3.dll,utilA1.dll,utilA2.dll,utilA3.dll,utilB1.dll等。该应用程序将加载plugin1.dll,plugin2.dll和plugin3.dll。 这些文件将在可执行文件的目录中。 对于每个DLL组通过名称相互了解(所以相互依赖关系都起作用),编译时需要知道名称 – 这意味着DLL需要多次编译,每次只能使用不同的输出文件名。 不是很复杂,但我讨厌有3个VS项目文件的副本,不喜欢不得不反复编译相同的文件。 选项2:并排组装方法 创buildDLL文件的3个副本,每个组在其自己的目录中,并通过将程序集清单文件放在目录中,将每个组定义为程序集,列出插件的DLL。 每个DLL将有一个指向程序集的应用程序清单,以便加载程序find驻留在相同目录中的实用程序DLL的副本。 清单需要被embedded,以便在使用LoadLibrary加载DLL时find它。 因为VS2003没有内置清单embedded支持,所以我将使用VS的更高版本中的mt.exe。 我已经尝试了部分成功的方法 – 依赖关系在DLL的加载时发现,而不是当加载另一个DLL的DLL函数被调用时。 这似乎是根据这篇文章预期的行为 – 一个DLL的激活上下文只用于DLL的加载时间,然后它被停用,并使用进程的激活上下文。 编辑:按预期的方式与ISOLATION_AWARE_ENABLED使用 – […]

.NET是否支持Windows Eventing 6.0?

我想从C#应用程序中使用Windows Eventing 6 API将消息logging到Windows Server 2008事件日志中的特定通道。 有一个很好的例子,如何使用它,但它只是C ++。 在这个例子中提到.NET不支持Windows Eventing 6.在http://msdn.microsoft.com/en-us/magazine/cc163431.aspx中有两个例子, http : //msdn.microsoft.com /en-us/library/aa382690(VS.85).aspx 我的问题是如何在C#中做到这一点,或者你知道是否有这个API的.Net支持。

应用程序清单和程序集清单之间的区别

应用程序清单和程序集清单有什么区别? 每个人在哪里使用? 哪两个是在.dll或.exe资源中find的? (或两者都可以在那里?)。 对不起,如果它太多的问题一次,但如果任何人可以解释这对我来说,这将是非常有益的。 我问这个问题的原因是,我希望能够从embedded在PE文件中的清单中提取信息。 我发现这些清单的描述,但有两个,我不知道哪一个要遵循: 应用程序清单描述 汇编清单描述 编辑:和不,我不想使用任何API调用。 我自己写这一切。

用本地configuration文件replaceMicrosoft.VC90.CRT WinSxS策略文件

在Windows XP上,我有一个.exe msvcr90.dll ,在我的本地应用程序目录中运行msvcp90.dll , msvcr90.dll和Microsoft.VC90.CRT.manifest 。 我还在C:\WINDOWS\WinSxS\Policies有这些.dll的策略文件,该文件由Visual C ++ 2008 SP1可再发行组件包安装 。 我想删除这个策略文件,并使用我的本地目录中的应用程序configuration文件。 该策略文件是: <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity type="win32-policy" name="policy.9.0.Microsoft.VC90.CRT" version="9.0.30729.1" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"/> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.VC90.CRT" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"/> <bindingRedirect oldVersion="9.0.20718.0-9.0.21022.8" newVersion="9.0.30729.1"/> <bindingRedirect oldVersion="9.0.30201.0-9.0.30729.1" newVersion="9.0.30729.1"/> </dependentAssembly> </dependency> </assembly> 我的configuration文件是: <configuration> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.VC90.CRT" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"/> <bindingRedirect oldVersion="9.0.20718.0-9.0.21022.8" newVersion="9.0.30729.1"/> […]

在清单中为插件DLLredirect依赖的DLL

我正在写一个DLL,可能通过调用LoadLibrary指定一个绝对path,它已经被安装。 (对LoadLibrary的调用可能在第三方应用程序中,客户必须将应用程序configuration为指向我的DLL。) 问题是我的DLL依赖于与我的目录安装在同一目录中的其他DLL – 但该目录不在DLLsearchpath。 我想我需要关联一个清单与我的主要DLL指向我的辅助DLL …有没有人有这样做的例子? 注意:这不是托pipe代码 – 原生onl。