有没有办法在 Program.exe.manifest 的 UMMM (Unattended Make My Manifest) 创建中指定 File Name=?
Posted
技术标签:
【中文标题】有没有办法在 Program.exe.manifest 的 UMMM (Unattended Make My Manifest) 创建中指定 File Name=?【英文标题】:Is there a way to specify File Name= in UMMM (Unattended Make My Manifest) creation of Program.exe.manifest? 【发布时间】:2020-06-22 15:24:19 【问题描述】:有没有办法在创建 Program.exe.manifest 时调整 UMMM.ini 文件和/或 UMMM.bat 文件以在 <File Name=... >
中指定 \Dependencies 子目录?
回复:vb6 "regfreecom" autocreate manifest for ocx file
回复:VB6 RegFreeCom SideBySide SxS Manifest Test for TABCTL32.ocx
使用 UMMM.ini 文件,例如:
Identity zTABCTL32.exe zTABCTL32.exe "TABCTL32 Test program 1.0"
File C:\WINDOWS\system32\TABCTL32.ocx
还有一个 UMMM.bat 文件,例如:
UMMM.exe zUMMMTabCtl32.ini .\manifest\zTABCTL32.exe.manifest
pause done?
然后编辑生成的 .exe 清单文件:
发件人:<file name="..\..\..\..\WINDOWS\system32\TABCTL32.ocx">
收件人:<file name="Dependencies\TABCTL32.ocx">
是的,https://github.com/wqweto/UMMM/issues/16 中的讨论是在同一个球场。
我确实调整了 UMMM.vbp 以从 SysWOW64
重定向到 System32
。
但这就是我想去的地方。也许如果我有耐心,他们会想出一个解决方案。
这是运行良好的最终 Program.exe.manifest:
<?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="Dependencies\TABCTL32.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,感谢您的所有努力。
我很尴尬地说,一开始我并没有按字面意思理解您的指示。这是 .ini 文件(有效!):
Identity zTABCTL32.exe zTABCTL32.exe "TABCTL32 Test program 1.0"
File C:\WINDOWS\system32\TABCTL32.ocx "" "" Dependencies\TABCTL32.ocx
这是 .bat 文件:
C:\Devlpmnt\LANG\VB6\UMMM-master_1_0_14\UMMM.exe zUMMMTabCtl32.ini .\manifest\zTABCTL32.exe.manifest
pause done?
这是相应文件夹中生成的清单文件:
<?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="Dependencies\TABCTL32.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>
这一切都做到了!谢谢。
【问题讨论】:
您能否添加您希望 INI 的外观,作为示例?你的问题有点难以理解。 【参考方案1】:@wqw 提供了解决方案:
我刚刚在提交中添加了对 name 属性的代理值的支持 77c7e07。使用类似的东西
File UcsFP20.dll "" "" Dependency\UcsFP20.dll
为名称提供
Dependency\UcsFP20.dll
的显式值 最终清单中的属性。版本 1.0.14 可以从 repo 的 Releases 选项卡。
– wqw 20 年 6 月 24 日 16:52
这在导致该提交的https://github.com/wqweto/UMMM/issues/16 中也有提及。
再次感谢您。
【讨论】:
以上是关于有没有办法在 Program.exe.manifest 的 UMMM (Unattended Make My Manifest) 创建中指定 File Name=?的主要内容,如果未能解决你的问题,请参考以下文章