有没有办法在 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?
问题描述
有没有办法调整 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屋!