|
![]() |
|
Thread Tools | Search this Thread | Display Modes |
![]() |
#1 |
Junior Member
Join Date: Nov 2012
Location: Colorado
Posts: 41
|
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 ...? |
![]() |
![]() |
![]() |
#2 |
Moderator
Join Date: Jun 2002
Location: ${NSISDIR}
Posts: 5,456
|
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 |
![]() |
![]() |
![]() |
#3 |
Junior Member
Join Date: Nov 2012
Location: Colorado
Posts: 41
|
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 |
![]() |
![]() |
![]() |
#4 |
Junior Member
Join Date: Nov 2012
Location: Colorado
Posts: 41
|
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 |
![]() |
![]() |
![]() |
#5 |
Junior Member
Join Date: Nov 2012
Location: Colorado
Posts: 41
|
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? |
![]() |
![]() |
![]() |
#6 |
Moderator
Join Date: Jun 2002
Location: ${NSISDIR}
Posts: 5,456
|
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 |
![]() |
![]() |
![]() |
#7 |
Junior Member
Join Date: Nov 2012
Location: Colorado
Posts: 41
|
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. |
![]() |
![]() |
![]() |
#8 |
Moderator
Join Date: Jun 2002
Location: ${NSISDIR}
Posts: 5,456
|
Yes you need to run it on the machine with the problem.
IntOp $PostCount $PostCount + 1 |
![]() |
![]() |
![]() |
#9 |
Junior Member
Join Date: Nov 2012
Location: Colorado
Posts: 41
|
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. |
![]() |
![]() |
![]() |
#10 |
Junior Member
Join Date: Nov 2012
Location: Colorado
Posts: 41
|
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 |
![]() |
![]() |
![]() |
#11 |
Moderator
Join Date: Jun 2002
Location: ${NSISDIR}
Posts: 5,456
|
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 |
![]() |
![]() |
![]() |
#12 |
Junior Member
Join Date: Nov 2012
Location: Colorado
Posts: 41
|
Thank You.
|
![]() |
![]() |
![]() |
#13 |
Junior Member
Join Date: Nov 2012
Location: Colorado
Posts: 41
|
NSIS RegFree, Component ... not correctly registered ...
Something happened on the win7(x64) test PC. It started to let one of my tiny apps (zRichTx) to work: I found out that, somehow at 'Key Modified Time' 8/24/2017 9:37:18 AM, there are 20 entries in the registry:
Registry Key HKCR\TypeLib\{3B7C8863-D78F-101B-B9B5-04021C009402}\1.2\0\win32 HKCR\Wow6432Node\CLSID\{3B7C8860-D78F-101B-B9B5-04021C009402}\InprocServer32 HKCR\Wow6432Node\CLSID\{3B7C8860-D78F-101B-B9B5-04021C009402}\ToolboxBitmap32 HKCR\Wow6432Node\CLSID\{78E5A540-1850-11CF-9D53-00AA003C9CB6}\InprocServer32 HKCR\Wow6432Node\CLSID\{AFC634B0-4B8B-11CF-8989-00AA00688B10}\InprocServer32 HKCR\Wow6432Node\CLSID\{B617B991-A767-4F05-99BA-AC6FCABB102E}\InprocServer32 HKCR\Wow6432Node\TypeLib\{3B7C8863-D78F-101B-B9B5-04021C009402}\1.2\0\win32 HKLM\SOFTWARE\Classes\TypeLib\{3B7C8863-D78F-101B-B9B5-04021C009402}\1.2\0\win32 HKLM\SOFTWARE\Classes\Wow6432Node\CLSID\{3B7C8860-D78F-101B-B9B5-04021C009402}\InprocServer32 HKLM\SOFTWARE\Classes\Wow6432Node\CLSID\{3B7C8860-D78F-101B-B9B5-04021C009402}\ToolboxBitmap32 HKLM\SOFTWARE\Classes\Wow6432Node\CLSID\{78E5A540-1850-11CF-9D53-00AA003C9CB6}\InprocServer32 HKLM\SOFTWARE\Classes\Wow6432Node\CLSID\{AFC634B0-4B8B-11CF-8989-00AA00688B10}\InprocServer32 HKLM\SOFTWARE\Classes\Wow6432Node\CLSID\{B617B991-A767-4F05-99BA-AC6FCABB102E}\InprocServer32 HKLM\SOFTWARE\Classes\Wow6432Node\TypeLib\{3B7C8863-D78F-101B-B9B5-04021C009402}\1.2\0\win32 HKLM\SOFTWARE\Wow6432Node\Classes\CLSID\{3B7C8860-D78F-101B-B9B5-04021C009402}\InprocServer32 HKLM\SOFTWARE\Wow6432Node\Classes\CLSID\{3B7C8860-D78F-101B-B9B5-04021C009402}\ToolboxBitmap32 HKLM\SOFTWARE\Wow6432Node\Classes\CLSID\{78E5A540-1850-11CF-9D53-00AA003C9CB6}\InprocServer32 HKLM\SOFTWARE\Wow6432Node\Classes\CLSID\{AFC634B0-4B8B-11CF-8989-00AA00688B10}\InprocServer32 HKLM\SOFTWARE\Wow6432Node\Classes\CLSID\{B617B991-A767-4F05-99BA-AC6FCABB102E}\InprocServer32 HKLM\SOFTWARE\Wow6432Node\Classes\TypeLib\{3B7C8863-D78F-101B-B9B5-04021C009402}\1.2\0\win32 Data D:\Program Files (x86)\Clark_Anderson\zRichTx\RICHTX32.OCX All of the entries have the same 'value' referring to a specific application. It makes me wonder if the NSIS script could plant a single entry that would make the application work. And that specific entry could be deleted by the Uninstall. Have you heard of anything like this working? |
![]() |
![]() |
![]() |
#14 |
Moderator
Join Date: Jun 2002
Location: ${NSISDIR}
Posts: 5,456
|
If you write something to the registry then it is no longer regfree.
The problem is usually in your applications manifest but like I already said, this is not a NSIS issue, please don't ask more questions about it here. IntOp $PostCount $PostCount + 1 |
![]() |
![]() |
![]() |
|
Tags |
nsis, regfree |
Thread Tools | Search this Thread |
Display Modes | |
|
|