1

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

回复:vb6“regfreecom”为 ocx 文件自动创建清单

回复:针对 TABCTL32.ocx 的 VB6 RegFreeCom SideBySide SxS 清单测试

使用 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 以重定向SysWOW64System32.
但这就是我想去的地方。也许如果我有耐心,他们会想出一个解决方案。

这是运行良好的最终 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>

这一切都做到了!谢谢你。

4

1 回答 1

1

@wqw 提供了解决方案:

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

File UcsFP20.dll "" "" 
Dependency\UcsFP20.dll 

Dependency\UcsFP20.dll在最终清单中提供 name 属性的显式值。版本 1.0.14 可以从 repo 的 Releases 选项卡下载。

– wqw 20 年 6 月 24 日 16:52

在导致该提交的https://github.com/wqweto/UMMM/issues/16中也提到了这一点。

再次谢谢你。

于 2020-07-06T11:55:09.377 回答