1
votes

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?

Re: vb6 "regfreecom" autocreate manifest for ocx file

Re: VB6 RegFreeCom SideBySide SxS Manifest Test for TABCTL32.ocx

Using a UMMM.ini file like:

Identity zTABCTL32.exe zTABCTL32.exe "TABCTL32 Test program 1.0"  
File C:\WINDOWS\system32\TABCTL32.ocx

and a UMMM.bat file like:

UMMM.exe zUMMMTabCtl32.ini .\manifest\zTABCTL32.exe.manifest

pause done?

Then editing the resultant .exe manifest file:

From: <file name="..\..\..\..\WINDOWS\system32\TABCTL32.ocx">
To: <file name="Dependencies\TABCTL32.ocx">


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.

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="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>

My efforts are on a tiny scale, not production.


wqw, thank you for all of your efforts.

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:\WINDOWS\system32\TABCTL32.ocx "" "" Dependencies\TABCTL32.ocx

And here is the .bat file:

C:\Devlpmnt\LANG\VB6\UMMM-master_1_0_14\UMMM.exe zUMMMTabCtl32.ini .\manifest\zTABCTL32.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="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>

This does it all! Thank you.

1
Can you add what you would LIKE the INI to look like, just as an example? Its a little hard to follow your question.StayOnTarget

1 Answers

1
votes

@wqw provided the solution:

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

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

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

– wqw Jun 24 '20 at 16:52

This was also referred to in https://github.com/wqweto/UMMM/issues/16 which lead up to that commit.

Again, thank you.