Windows 10 64bit - Ultra TC editor MSCOMCTL.OCX issue

English support forum

Moderators: white, Hacker, petermad, Stefan2

User avatar
Phred
Senior Member
Senior Member
Posts: 375
Joined: 2009-06-16, 15:24 UTC
Location: SEAu

Sad.

Post by *Phred »

Thanks for your efforts, ts424, but the KB3096896 you point me to - a VB6SP1 Rollup - has a prerequisite of VB6.

I've tried on the machine in question, and on a second one, but no luck.
The error graphics explain:

https://drive.google.com/file/d/0BxZuqZF5CbbNeXcwQzZRUXVkcUE/view?usp=sharing

https://drive.google.com/file/d/0BxZuqZF5CbbNV2d5UVM2T21xSXM/view?usp=sharing

..I am performing the msiexec expansion in a couple of scratchpad folders. I assume it doesn't have to be done in situ.

VB6 for Win10?

NB From the earlier exercise, when I was able to expand this msi, I managed to place mscomctl.ocx in syswow64 where it is now.
Vn 6.1.97.86 Dated 15th April 2005 - 15/04/2005.

[POSTSCRIPT I tried installing on the second machine. Worked okay. I wonder why. It is a Win7/64Ult upgraded to Win10Pro computer.]
[Now.. to see where/how UTCEs works.]
User avatar
ts4242
Power Member
Power Member
Posts: 2081
Joined: 2004-02-02, 20:08 UTC
Contact:

Re: Sad.

Post by *ts4242 »

Phred wrote:Thanks for your efforts, ts424, but the KB3096896 you point me to - a VB6SP1 Rollup - has a prerequisite of VB6.
Yes i know, that's why i explained how to extract mscomctl.ocx from that KB3096896 msi without needing to install!

Phred wrote:[POSTSCRIPT I tried installing on the second machine. Worked okay. I wonder why. It is a Win7/64Ult upgraded to Win10Pro computer.]
Maybe the first machine has missing or corrupted file required to run VB6 programs e.g. msvbvm60.dll
User avatar
Ovg
Power Member
Power Member
Posts: 756
Joined: 2014-01-06, 16:26 UTC

Post by *Ovg »

2Phred
Why not just extract the desired file from the MSI file with the suitable plugin? (eg msi-plus or Total Observer or other ...)
It's impossible to lead us astray for we don't care even to choose the way.
#259941, TC 11.01 x64, Windows 7 SP1 x64
User avatar
ts4242
Power Member
Power Member
Posts: 2081
Joined: 2004-02-02, 20:08 UTC
Contact:

Post by *ts4242 »

Ovg wrote:2Phred
Why not just extract the desired file from the MSI file with the suitable plugin? (eg msi-plus or Total Observer or other ...)
No need for any plugin or tool, it is possible to extract MSI file from command prompt using this command

msiexec /a full\path\to\MSI\file /qb TARGETDIR=full\path\to\target\folder
User avatar
Ovg
Power Member
Power Member
Posts: 756
Joined: 2014-01-06, 16:26 UTC

Post by *Ovg »

2ts4242
Indeed, but using the plugin this is much easier than using the command line (IMHO), moreover, the plugin may come in handy for other tasks ...
It's impossible to lead us astray for we don't care even to choose the way.
#259941, TC 11.01 x64, Windows 7 SP1 x64
pplupo
Member
Member
Posts: 102
Joined: 2019-12-02, 16:26 UTC
Location: Canada
Contact:

Re: Windows 10 64bit - Ultra TC editor MSCOMCTL.OCX issue

Post by *pplupo »

Hey, y'all! I've written this script that is supposed to register MSCOMCTL on windows (32-bit or 64-bit). Here is what it does:

1- Prompt for admin privileges
2- Check if you have a 32 or 64 bit OS
3- Check if you already have MSCOMCTL.OCX in the correct folder
3.1- If you don't have it, it copies the one that is in the same directory as this batch file.
3.2- If you do have it, it asks if you want to replace it with the one provided.
4- Registers whatever you have in the correct folder (preexisting or overwritten one).

So you can try with the one you might have and if it doesn't work, you can overwrite it.

Code: Select all

@echo OFF

rem Get Admin privileges
REM  --> Check for permissions
IF "%PROCESSOR_ARCHITECTURE%" EQU "amd64" (
    >nul 2>&1 "%SYSTEMROOT%\SysWOW64\cacls.exe" "%SYSTEMROOT%\SysWOW64\config\system"
) ELSE (
    >nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
)

REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
    echo Requesting administrative privileges...
    goto UACPrompt
) else ( goto gotAdmin )

:UACPrompt
    echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
    set params= %*
    echo UAC.ShellExecute "cmd.exe", "/c ""%~s0"" %params:"=""%", "", "runas", 1 >> "%temp%\getadmin.vbs"

    "%temp%\getadmin.vbs"
    del "%temp%\getadmin.vbs"
    exit /B

:gotAdmin
    pushd "%CD%"
    CD /D "%~dp0"
:skipadmin
rem query OS bitness
reg Query "HKLM\Hardware\Description\System\CentralProcessor\0" | find /i "x86" > NUL && set OS=32BIT || set OS=64BIT

if %OS%==64BIT if not exist %windir%\SYSWOW64\MSCOMCTL.OCX GOTO COPY64
if %OS%==32BIT if not exist %windir%\SYSTEM32\MSCOMCTL.OCX GOTO COPY32
GOTO ASK_REPLACE

:ASK_REPLACE
rem For consistency between "choice" and "set prompt", add a blank space at the end of the question.
set question="Do you want to override the existing MSCOMCTL.OCX with the provided one [Y/N]? "

if exist "%SystemRoot%\System32\choice.exe" goto UseChoice

setlocal EnableExtensions EnableDelayedExpansion
:UseSetPrompt
set "UserChoice="
set /P UserChoice=%question%
set "UserChoice=!UserChoice: =!"
if /I not "!UserChoice!" == "Y" endlocal & goto blockNo
endlocal
goto blockYes

:UseChoice
%SystemRoot%\System32\choice.exe /C YN /N /M %question%
if not errorlevel 2 if errorlevel 1 goto blockYes
goto :blockNo

:blockYes
if %OS%==64BIT GOTO COPY64
if %OS%==32BIT GOTO COPY32

:blockNo
GOTO REGISTER

:COPY64
copy /Y MSCOMCTL.OCX %windir%\SYSWOW64
GOTO REGISTER

:COPY32
copy /Y MSCOMCTL.OCX %windir%\SYSTEM32
GOTO REGISTER

:REGISTER
regsvr32 mscomctl.ocx
I've got my mscomctl.ocx from Microsoft directly, by downloading this and extracting the files.
https://www.microsoft.com/en-us/download/details.aspx?id=10019

I believe that just downloading and running it will fix the issue as well, but I haven't tested it.
Post Reply