从jar中添加清单到编译的exe文件

我有一个可运行的MyApp.jar,我通过使用launch4j编译到MyApp.exe,因为这个应用程序需要pipe理员权限,我尝试按照以下文章添加清单文件到它: http : //msdn.microsoft.com/en- us / library / bb756929.aspx当我执行

mt.exe –manifest manifest.xml –outputresource:MyApp.exe;#1 

该过程完成没有错误,但MyApp.exe文件减less其大小从6MB只有32kb,当我尝试运行它,我得到了以下错误:错误:无效或损坏的jarfile。 也许有人知道它有什么问题吗? 我的清单文件如下所示:

 <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="MyApp.exe" type="win32"/> <description>{app name}</description> <!-- Identify the application security requirements. --> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> <security> <requestedPrivileges> <requestedExecutionLevel level="requireAdministrator" uiAccess="true"/> </requestedPrivileges> </security> </trustInfo> </assembly> 

最后,我们通过在编译期间通过launch4j应用程序添加清单文件解决了这个问题,并将uiAccess标志从true更改为false uiAccess="false"尽管我们的应用程序是图形的,否则不起作用。

我用过这个文件:

  <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="MyApp.exe" type="win32"/> <description>{app name}</description> <!-- Identify the application security requirements. --> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> <security> <requestedPrivileges> <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/> </requestedPrivileges> </security> </trustInfo> </assembly> 

并把它放在这里: 在这里输入图像说明