Old 11th August 2017, 19:07   #1
anderci
Junior Member
 
Join Date: Nov 2012
Location: Colorado
Posts: 36
NSIS RegFree, Component ... not correctly registered ...

I have had my NSIS script files working for a while 32/64 bit ...
OK, not fully tested. On a fresh Win7/Win10 (64), there are problems with the .OCX files.
I guess I have been misled by installations on PCs tarnished by development work.

The programs and their support files are installed in C:\Program Files (x86)\... or D:\Program Files (x86)\...
This includes: Program.exe, Uninstall.exe, .dll, .tlb, .olb, .ocx and their .manifest files.
My installations are 'RegFree'.
Their data files are located in: C:\Users\Public\... or D:\Users\Public\...
I get the error message when I start the program, newly installed on a Win7(x64) or Win10(x64) PC:

Component 'threed32.ocx' or one of its dependencies not
correctly registered: a file is missing or invalid

Depending on the program, this has complained about: MSCOMCT2.OCX, threed32.ocx or RICHTX32.OCX

Is this caused by my NSIS script or my .manifest files or ...?
anderci is offline   Reply With Quote
Old 11th August 2017, 21:56   #2
Anders
Moderator
 
Anders's Avatar
 
Join Date: Jun 2002
Location: ${NSISDIR}
Posts: 4,559
Try Dependency Walker on the .ocx that fails to load. You could also try Process Monitor but this is not really a NSIS problem so I'm not sure if there is a lot we can do for you...

IntOp $PostCount $PostCount + 1
Anders is offline   Reply With Quote
Old 12th August 2017, 00:03   #3
anderci
Junior Member
 
Join Date: Nov 2012
Location: Colorado
Posts: 36
NSIS RegFree, Component ... not correctly registered ...

I guess, you do not think there may be a problem with my NSIS scripts or .manifest files?

I am also guessing that Dependency Walker is used on the development environment. (In my case it is a virtual PC running WinXP(32) for VB6). I am also guessing that Dependency Walker would identify any dependencies for the .ocx file.

Do you know of anyone working with NSIS RegFree for applications referencing .ocx files?

My simplest program is QueryMgr . Its install, iQueryMgr can be downloaded from:
http://net.indra.com/~anderci/ciaartcl.htm
anderci is offline   Reply With Quote
Old 12th August 2017, 00:13   #4
anderci
Junior Member
 
Join Date: Nov 2012
Location: Colorado
Posts: 36
NSIS RegFree, Component ... not correctly registered ...

I believe I have attached:
Query_Manager.nsi
QueryMgr.exe.manifest.txt
RICHTX32.ocx.manifest.txt
Maybe someone can recognize if there is anything wrong with any of them
anderci is offline   Reply With Quote
Old 12th August 2017, 02:24   #5
anderci
Junior Member
 
Join Date: Nov 2012
Location: Colorado
Posts: 36
I tried Dependency Walker on RICHTX32.ocx. It created a listing in the lefthand panel:
RICHTX32.OCX
SHELL32.DLL
OLEDLG.DLL
KERNEL32.DLL
USER32.DLL
0LE32.DLL
ADVAPI32.DLL
OLEAUT32.DLL
COMDLG32.DLL
GD132.DLL
Each of the indented files had files listed for them...

Does this indicate that I must include all 9 of the indented files and their manifest files in the installation also?
anderci is offline   Reply With Quote
Old 12th August 2017, 09:44   #6
Anders
Moderator
 
Anders's Avatar
 
Join Date: Jun 2002
Location: ${NSISDIR}
Posts: 4,559
No those are standard Windows files. If any of the direct dependents of your .ocx are red then you have a problem, otherwise it is probably fine.

IntOp $PostCount $PostCount + 1
Anders is offline   Reply With Quote
Old 12th August 2017, 11:43   #7
anderci
Junior Member
 
Join Date: Nov 2012
Location: Colorado
Posts: 36
Thank you for responding.
I ran Dependency Walker in the development environment. (WinXP(32)). Nothing in the lefthand panel was red. There were some red items in the righthand panel and bottom panel.
Is it necessary to run Dependency Walker in the deployment environment e.g.: Win10(64)?
That is where I get the 'Component ... not correctly registered ...' error message.
anderci is offline   Reply With Quote
Old 12th August 2017, 12:52   #8
Anders
Moderator
 
Anders's Avatar
 
Join Date: Jun 2002
Location: ${NSISDIR}
Posts: 4,559
Yes you need to run it on the machine with the problem.

IntOp $PostCount $PostCount + 1
Anders is offline   Reply With Quote
Old 12th August 2017, 21:57   #9
anderci
Junior Member
 
Join Date: Nov 2012
Location: Colorado
Posts: 36
NSIS RegFree, Component ... not correctly registered ...

Thank you.
I ran Dependency Walker in the deployment environment e.g.: Win10(64)
I think I have attached RICHTX32a2.jpg, an image of results.
KERNEL32.DLL is the only one of the first line of dependents with red flagged items in the right hand panel.
I assume I must add this KERNEL32.DLL to my NSIS script.
I suppose I must also provide a manifest file for it: I do not know how to create this one.
(I had information in the VB6 files to build the other manifest files because they were 'attached' to the VB6 application.) Also, it has been a while since I did that.
anderci is offline   Reply With Quote
Old 12th August 2017, 23:25   #10
anderci
Junior Member
 
Join Date: Nov 2012
Location: Colorado
Posts: 36
NSIS RegFree, Component ... not correctly registered ...

I modified the NSIS script to include kernel32.dll and its manifest:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity type="win32" name="kernel32.dll" version="5.1.2600.5512" />

<file name="kernel32.dll">
<typelib
tlbid="{86CF1D34-0C5F-11D2-A9FC-0000F8754DA1}"
version="1.0"
helpdir=""/>
<comClass progid="kernel32"
clsid="{86CF1D34-0C5F-11D2-A9FC-0000F8754DA1}"
description="Application Extension" />
</file>

</assembly>

I think it is OK except the tlbid and clsid values. I have no idea what to use there.
I installed this one on the test Win10(64) PC. It failed with the same message. I think the Dependency Walker results were the same: I think I attached its image: RICHTX32b.jpg
anderci is offline   Reply With Quote
Old 13th August 2017, 00:12   #11
Anders
Moderator
 
Anders's Avatar
 
Join Date: Jun 2002
Location: ${NSISDIR}
Posts: 4,559
You don't need a manifest item for kernel32.

This forum is not the best place to ask about reg. free COM, try Stackoverflow. Solve the underlying issue first, then deal with NSIS...

IntOp $PostCount $PostCount + 1
Anders is offline   Reply With Quote
Old 13th August 2017, 01:02   #12
anderci
Junior Member
 
Join Date: Nov 2012
Location: Colorado
Posts: 36
Thank You.
anderci is offline   Reply With Quote
Reply
Go Back   Winamp & SHOUTcast Forums > Developer Center > NSIS Discussion

Tags
nsis, regfree

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump