有没有办法在 Program.exe.manifest 的 UMMM(无人参与的 Make My Manifest)创建中指定 File Name=? [英] Is there a way to specify File Name= in UMMM (Unattended Make My Manifest) creation of Program.exe.manifest?

查看:22
本文介绍了有没有办法在 Program.exe.manifest 的 UMMM(无人参与的 Make My Manifest)创建中指定 File Name=?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有没有办法调整 UMMM.ini 文件和/或 UMMM.bat 文件,以便在创建时在 <File Name=...> 中指定 Dependencies 子目录Program.exe.manifest?

Is there a way to adjust the UMMM.ini file and / or the UMMM.bat file to specify in the <File Name=... > the Dependencies subdirectory when it creates the Program.exe.manifest?

回复:vb6regfreecom"为 ocx 文件自动创建清单

回复:VB6 RegFreeCom SideBySide SxS Manifest Test for TABCTL32.ocx

使用 UMMM.ini 文件,例如:

Using a UMMM.ini file like:

Identity zTABCTL32.exe zTABCTL32.exe "TABCTL32 Test program 1.0"  
File C:WINDOWSsystem32TABCTL32.ocx

还有一个 UMMM.bat 文件,例如:

and a UMMM.bat file like:

UMMM.exe zUMMMTabCtl32.ini .manifestzTABCTL32.exe.manifest

pause done?

然后编辑生成的 .exe 清单文件:

Then editing the resultant .exe manifest file:

来自:<文件名=........WINDOWSsystem32TABCTL32.ocx">
收件人:<file name="DependenciesTABCTL32.ocx">

https://github.com/wqweto/UMMM/issues/16 中的讨论 在同一个球场.
我确实调整了 UMMM.vbp 以从 SysWOW64 重定向到 System32.
但这就是我想去的地方.也许如果我有耐心,他们会想出一个解决方案.

YES the discussion in https://github.com/wqweto/UMMM/issues/16 is in the same ballpark.
I DID tweak the UMMM.vbp to redirect from SysWOW64 to System32.
But that is as far as I want to go. Maybe if I am patient, they will work out a solution.

这是运行良好的最终 Program.exe.manifest:

Here is the final Program.exe.manifest that works fine:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
    <assemblyIdentity name="zTABCTL32.exe" processorArchitecture="X86" type="win32" version="1.0.0.20" />
    <description>TABCTL32 Test program 1.0</description>
    <file name="DependenciesTABCTL32.ocx">
        <typelib tlbid="{BDC217C8-ED16-11CD-956C-0000C04E4C0A}" version="1.1" flags="control,hasdiskimage" helpdir="" />
        <comClass clsid="{BDC217C5-ED16-11CD-956C-0000C04E4C0A}" tlbid="{BDC217C8-ED16-11CD-956C-0000C04E4C0A}" progid="TabDlg.SSTab.1" threadingModel="Apartment" miscStatus="" miscStatusContent="recomposeonresize,cantlinkinside,insideout,activatewhenvisible,simpleframe,setclientsitefirst">
            <progid>TabDlg.SSTab</progid>
        </comClass>
        <comClass clsid="{942085FD-8AEE-465F-ADD7-5E7AA28F8C14}" tlbid="{BDC217C8-ED16-11CD-956C-0000C04E4C0A}" threadingModel="Apartment" miscStatus="" miscStatusContent="recomposeonresize,cantlinkinside,insideout,activatewhenvisible,simpleframe,setclientsitefirst" />
    </file>
</assembly>

我的努力规模很小,而不是生产.

My efforts are on a tiny scale, not production.

我很尴尬地说,一开始我并没有按字面意思理解你的指示.
这是 .ini 文件(有效!):

I am embarrassed to say I did not, at first, take your instructions literally enough.
Here is the .ini file (That Works!):

Identity zTABCTL32.exe zTABCTL32.exe "TABCTL32 Test program 1.0"  

File C:WINDOWSsystem32TABCTL32.ocx "" "" DependenciesTABCTL32.ocx

这是 .bat 文件:

And here is the .bat file:

C:DevlpmntLANGVB6UMMM-master_1_0_14UMMM.exe zUMMMTabCtl32.ini .manifestzTABCTL32.exe.manifest

pause done?

这是相应文件夹中生成的清单文件:

Here is the resulting manifest file in its appropriate folder:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
    <assemblyIdentity name="zTABCTL32.exe" processorArchitecture="X86" type="win32" version="1.0.0.23" />
    <description>TABCTL32 Test program 1.0</description>
    <file name="DependenciesTABCTL32.ocx">
        <typelib tlbid="{BDC217C8-ED16-11CD-956C-0000C04E4C0A}" version="1.1" flags="control,hasdiskimage" helpdir="" />
        <comClass clsid="{BDC217C5-ED16-11CD-956C-0000C04E4C0A}" tlbid="{BDC217C8-ED16-11CD-956C-0000C04E4C0A}" progid="TabDlg.SSTab.1" threadingModel="Apartment" miscStatus="" miscStatusContent="recomposeonresize,cantlinkinside,insideout,activatewhenvisible,simpleframe,setclientsitefirst">
            <progid>TabDlg.SSTab</progid>
        </comClass>
        <comClass clsid="{942085FD-8AEE-465F-ADD7-5E7AA28F8C14}" tlbid="{BDC217C8-ED16-11CD-956C-0000C04E4C0A}" threadingModel="Apartment" miscStatus="" miscStatusContent="recomposeonresize,cantlinkinside,insideout,activatewhenvisible,simpleframe,setclientsitefirst" />
    </file>
</assembly>

这一切都做到了!谢谢.

推荐答案

@wqw 提供了解决方案:

@wqw provided the solution:

我刚刚在提交中添加了对 name 属性的代理值的支持77c7e07.使用类似的东西

I just added support for surrogate value for name attribute in commit 77c7e07. Use something like

File UcsFP20.dll "" "" 
DependencyUcsFP20.dll 

为名称提供 DependencyUcsFP20.dll 的显式值最终清单中的属性.版本 1.0.14 可以从repo 的 Releases 选项卡.

to supply explicit value of DependencyUcsFP20.dll for name attribute in final manifest. Version 1.0.14 can be downloaded from repo's Releases tab.

– wqw 20 年 6 月 24 日 16:52

– wqw Jun 24 '20 at 16:52

这在 https://github.com/wqweto/UMMM/issues 中也有提及/16 导致该提交.

再次感谢您.

这篇关于有没有办法在 Program.exe.manifest 的 UMMM(无人参与的 Make My Manifest)创建中指定 File Name=?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆