vb6 - NSIS RegFree, Component ... not correctly registered ... Win10(x64) or Win7(x64) -


i have had nsis script files working while 32 bit ... on fresh (not used development) win7/win10 (64), there problems .ocx files.

the programs , support files installed in c:\program files (x86)... or d:\program files (x86)... includes: program.exe, uninstall.exe, .dll, .tlb, .olb, .ocx , .manifest files. installations 'regfree'. data files located in: c:\users\public... or d:\users\public...

i error message when start program, newly installed on win7(x64) or win10(x64) pc:

component 'richtx32.ocx' or 1 of dependencies not correctly registered: file missing or invalid

depending on program, has complained about: mscomct2.ocx, threed32.ocx or richtx32.ocx

i ran dependency walker in deployment environment e.g.: win10(64) richtx32.ocx. created listing in left-hand panel:

shell32.dll oledlg.dll kernel32.dll user32.dll 0le32.dll advapi32.dll oleaut32.dll comdlg32.dll gd132.dll

kernel32.dll 1 of first line of dependents red flagged items in right hand panel.

i updated nsis script include kernel32.dll other support files copied c:\program files (x86)...

i still error message: component 'richtx32.ocx' or 1 of dependencies not correctly registered: file missing or invalid

any ideas how succeed in regfree installation. please?

that way started out, without kernel32.dll . error message or without it. – user243281

i wish had answer how prepare installations work on win7(x64) , win10(x64). put things in correct folders, not run.

i created application vb6 on winxp(32) virtual pc. compiled nsis script in same development environment. had believed work done, test installs on pcs 'contaminated' development activities.
-------------- querymgr manifest:

? inserted 4 blanks in front of each line if manifest (xml) not accept it?

i cannot accept querymgr manifest. xml file, not close enough html...?

all of manifest files installed in install directory e.g.: c:\program files (x86)\clark_anderson\

i tried pasting manifest files in main posting window, code...? (xml files similar html)

the .ocx files part of vb6 development environment. related form controls have used in applications. 1 of them, threed32.ocx, ~3rd party ?attachment? vb6.

--------------------- nsis script:

!include mui2.nsh   ;create installdirectoryrequirements page vvvvvvv !include "nsdialogs.nsh" !include "winmessages.nsh" !include "logiclib.nsh" !include "x64.nsh"          ;14jul2013   ;create installdirectoryrequirements page ^^^^^^^ ;!define mui_componentspage_smalldesc ;no value ;?!define mui_ui "myui.exe" ;value ;!define mui_instfilespage_colors "ffffff 000000" ;two colors  ; ------------------------------- ; start     !define mui_product "querymgr"   !define mui_file "querymgr"   !define mui_version "2.08"   !define mui_brandingtext "querymgr ver. 2.08"   crccheck on   !include "${nsisdir}\contrib\modern ui\system.nsh"   ;-------------------------------- ;general    name "querymgr ${mui_version}"    outfile "iquerymgr.exe"  ;default installation folder ;  installdir "$localappdata\clark_anderson\${mui_product}" ;  installdir "c:\users\public\clark_anderson\${mui_file}"    !include winver.nsh  ;11aug2013  var /global datadir             ;31jul2013   var  datadir              ;11aug2013    showinstdetails "nevershow"   showuninstdetails "nevershow"   ;setcominstalldirectoryrequirementsssor "bzip2"  ;?  !define mui_icon "icon.ico" ;?  !define mui_unicon "icon.ico"   !define mui_specialbitmap "bitmap.bmp"  ;-------------------------------- ;folder selection page ;  installdir "c:\users\public\clark_anderson\${mui_product}"  ;11aug2013 xxxxx vvvv  ;function dir_pge_txt_dest ;       !define $mui_directorypage_text_destination "setup install ${mui_product} ${mui_version} in following folder. install in different folder, click browse , select folder. click install start installation.  imperative install c:\users\public\... folder structure! " ;functionend   ;11aug2013 xxxxx ^^^^  ;07aug2013 vvvvvvvvvvvv function .onverifyinstdir     ${if} ${runningx64}                      ${else}         strcpy $datadir $instdir     ${endif}                             functionend  ;07aug2013 ^^^^^^^^^^^^^    ;-------------------------------- ;modern ui configuration    !define mui_welcomepage     !define mui_licensepage   !define mui_directorypage    !define mui_abortwarning   !define mui_uninstaller   !define mui_unconfirmpage   !define mui_finishpage   function .oninit   ${if} ${atleastwinvista}     ${if} ${runningx64}                        strcpy $instdir "$programfiles32\clark_anderson\${mui_file}"       expandenvstrings $datadir "%public%\clark_anderson\${mui_file}"        ${else}                                    expandenvstrings $instdir "%public%\clark_anderson\${mui_file}"          expandenvstrings $datadir "%public%\clark_anderson\${mui_file}"        ${endif}                               ${else}     strcpy $instdir "$programfiles\clark_anderson\${mui_file}"     strcpy $datadir "$programfiles\clark_anderson\${mui_file}"       ${endif} functionend      ;-------------------------------- ;pages    !insertmacro mui_page_welcome ;  !insertmacro mui_page_license "${nsisdir}\docs\modern ui\license.txt"   !insertmacro mui_page_components   page custom installdirectoryrequirements ;"important information install location"      ;create multi-line edit (text) control    !insertmacro mui_page_directory   !insertmacro mui_page_instfiles   !insertmacro mui_page_finish    !insertmacro mui_unpage_welcome   !insertmacro mui_unpage_confirm   !insertmacro mui_unpage_instfiles   !insertmacro mui_unpage_finish    ;create installdirectoryrequirements page vvvvvvv      !define installdirectoryrequirements_title "requirements ${mui_product} install directory"     !define installdirectoryrequirements_subtitle "this permit access ${mui_product} pc users $\r$\nand prevent interference , other programs on pc. "   var dialog var label  function installdirectoryrequirements     !insertmacro mui_header_text "${installdirectoryrequirements_title}" "${installdirectoryrequirements_subtitle}"     nsdialogs::create 1018         pop $dialog         ${if} $dialog == error             abort         ${endif}          pop $instdir         ${nsd_createlabel} 0 0 100% 20% "setup install ${mui_product} ${mui_version}  in following folder: $\r$\n     $instdir $\r$\n"  ;to install in different folder, on next page click browse , select folder, then, click install start installation.  "         ${nsd_createlabel} 0 15% 100% 30% "setup install ${mui_product} sample data  in following folder , subfolders: $\r$\n     $datadir $\r$\n"  ;to install in different folder, on next page click browse , select folder, then, click install start installation.  "  ;31jul2013         pop $label ;       ${nsd_addstyle} $label ${ss_center}          ${nsd_createlabel} 0 30% 100% 40% "the ...\clark_anderson  subfolder identifies source of program.$\r$\nthe ...\${mui_product} subfolder unique program.$\r$\n$\r$\neverything needed ${mui_product} stored in ..\${mui_product} subfolder , subfolders.$\r$\n$\r$\nthis 'everything needed' achieved including manifest files (reg-free com),$\r$\n thus, refraining use of pc registry."         pop $label ;       ${nsd_addstyle} $label ${ss_center}    ${if} ${atleastwinvista}     ${if} ${runningx64}     ; 03aug2013 vvvv         ${nsd_createlabel} 0 80% 100% 40% "it imperative install c:\program files (x86)\... folder structure! "         pop $label     ${else}                 ; 03aug2013 ^^^^         ${nsd_createlabel} 0 80% 100% 40% "it imperative install c:\users\public\... folder structure! "         pop $label     ${endif}                    ; 03aug2013 ;       ${nsd_addstyle} $label ${ss_center}   ${endif}   ${if} ${runningx64}       ; 14jul2013 vvvv         ${nsd_createlabel} 0 90% 100% 40% " 64 bit windows, tested."         pop $label   ${else}         ${nsd_createlabel} 0 90% 100% 40% " 32 bit windows, tested."         pop $label   ${endif}                  ; 14jul2013 ^^^^      nsdialogs::show functionend  ;section "" ;sectionend     ;create installdirectoryrequirements page ^^^^^^^  ;-------------------------------- ;language    !insertmacro mui_language "english"   ;--------------------------------  ;modern ui system  ;?  !insertmacro mui_system    ;-------------------------------- ;data  ;  licensedata "lees_mij.txt"  ;--------------------------------  ;installer sections   insttype "compact"    insttype "typical"  ;add files section "program files"   sectionin 1 2   setoutpath "$instdir"    file "c:\devlpmnt\lang\vb6\querymgr\querymgr.exe" sectionend  section "system files - winsysdir"   sectionin 1 2   setoutpath "$instdir"   file "c:\windows\system32\msvbvm60.dll"   file "c:\program files\microsoft visual studio\vb98\vb6.olb"   file "c:\windows\system32\stdole2.tlb"   file "c:\program files\microsoft office\office\msacc9.olb"   file "c:\program files\common files\microsoft shared\dao\dao360.dll"   file "c:\program files\microsoft visual studio\vb98\vb6ext.olb"   file "c:\windows\system32\msstdfmt.dll"   file "c:\windows\system32\comdlg32.ocx"   file "c:\windows\system32\richtx32.ocx"  ;18aug2017  file "c:\windows\system32\kernel32.dll"   ; 12aug2017      file "c:\devlpmnt\lang\vb6\querymgr\manifest\querymgr.exe.manifest"     file "c:\devlpmnt\lang\vb6\_dllmanifest\msvbvm60.dll.manifest"     file "c:\devlpmnt\lang\vb6\_dllmanifest\vb6.olb.manifest"     file "c:\devlpmnt\lang\vb6\_dllmanifest\stdole2.tlb.manifest"     file "c:\devlpmnt\lang\vb6\_dllmanifest\msacc9.olb.manifest"     file "c:\devlpmnt\lang\vb6\_dllmanifest\dao360.dll.manifest"     file "c:\devlpmnt\lang\vb6\_dllmanifest\vb6ext.olb.manifest"     file "c:\devlpmnt\lang\vb6\_dllmanifest\msstdfmt.dll.manifest"     file "c:\devlpmnt\lang\vb6\_dllmanifest\comdlg32.ocx.manifest"     file "c:\devlpmnt\lang\vb6\_dllmanifest\richtx32.ocx.manifest"  ; 12aug2017    file "c:\devlpmnt\lang\vb6\_dllmanifest\kernel32.dll.manifest"   sectionend  section "sample data files (optional: recommended starting)"   sectionin 2  setoutpath "$datadir\databases"   file "c:\devlpmnt\lang\vb6\querymgr\databases\asqlsela2k.mdb"   file "c:\devlpmnt\lang\vb6\querymgr\databases\asqljoi22k.mdb"   file "c:\devlpmnt\lang\vb6\querymgr\databases\asqljoi3.mdb"   file "c:\devlpmnt\lang\vb6\querymgr\databases\asqlfcn42k.mdb"   file "c:\devlpmnt\lang\vb6\querymgr\databases\asqluni62k.mdb"   file "c:\devlpmnt\lang\vb6\querymgr\databases\lookup.mdb" sectionend  ;installation info section "install"   sectionin 1 2  ;create desktop shortcut ;  createshortcut "$desktop\${mui_product}.lnk" "$instdir\${mui_file}.exe" ""   createshortcut "$desktop\${mui_file}.lnk" "$instdir\${mui_file}.exe" ""  ;create start-menu items   createdirectory "$smprograms\${mui_product}"   createshortcut "$smprograms\${mui_product}\uninstall.lnk" "$instdir\uninstall.exe" "" "$instdir\uninstall.exe" 0   createshortcut "$smprograms\${mui_product}\${mui_product}.lnk" "$instdir\${mui_file}.exe" "" "$instdir\${mui_file}.exe" 0  ;write uninstall information registry   writeregstr hklm "software\microsoft\windows\currentversion\uninstall\${mui_product}" "displayname" "${mui_product} {remove only}"   writeregstr hklm "software\microsoft\windows\currentversion\uninstall\${mui_product}" "uninstallstring" "$instdir\uninstall.exe"    writeuninstaller "$instdir\uninstall.exe"  sectionend  ;--------------------------------     ;uninstaller section   section "uninstall" ;12aug2013  variable $datadir values not saved section vvvv     ${if} ${runningx64}                          expandenvstrings $datadir "%public%\clark_anderson\${mui_file}"      ${else}         strcpy $datadir $instdir     ${endif}                             ;12aug2013  variable $datadir values not saved section ^^^^  ;delete files    delete "$instdir\*.*"                     ;12aug2013   delete "$datadir\reports\templates\*.*"   ;12aug2013   delete "$datadir\reports\*.*"             ;12aug2013   delete "$datadir\databases\*.*"           ;12aug2013   delete "$datadir\*.*"                     ;12aug2013  ;remove installation directory ;13aug2013 +vvvv   rmdir $instdir   rmdir $datadir\reports\templates   rmdir $datadir\reports   rmdir $datadir\databases   rmdir $datadir ;13aug2013 +^^^^  ;delete start menu shortcuts   delete "$desktop\${mui_product}.lnk"   delete "$smprograms\${mui_product}\*.*"   rmdir  "$smprograms\${mui_product}"  ;delete uninstaller , unistall registry entries   deleteregkey hkey_local_machine "software\${mui_product}"   deleteregkey hkey_local_machine "software\microsoft\windows\currentversion\uninstall\${mui_product}"    sectionend ;--------------------------------     ;messagebox section   ;function calls messagebox when installation finished correctly function .oninstsuccess   messagebox mb_ok "you have installed ${mui_brandingtext}. use desktop icon start program." functionend   function un.onuninstsuccess   messagebox mb_ok "you have uninstalled ${mui_brandingtext}." functionend  ;!verbose 0 ;!error "" ;eof 

(i hope nsis script came through clean code, after editing insert 4 spaces)

simplest query manager

===============================
richtx32.ocx seems need kernel32.dll

c:>dir /s kernel32.dll
volume in drive c os
volume serial number 48c7-50d7

directory of c:\windows\system32

05/30/2017 01:39 pm 708,712 kernel32.dll
1 file(s) 708,712 bytes

directory of c:\windows\syswow64

05/30/2017 01:39 pm 599,576 kernel32.dll
1 file(s) 599,576 bytes

directory of c:\windows\winsxs\amd64_microsoft-windows-kernel32_31bf3856ad364e35_10.0.15063.0_none_a4d1be7a8f1a4216

05/30/2017 01:45 pm 19,984 kernel32.dll
1 file(s) 19,984 bytes

directory of c:\windows\winsxs\amd64_microsoft-windows-kernel32_31bf3856ad364e35_10.0.15063.296_none_289f5225bcc26659

05/30/2017 01:39 pm 708,712 kernel32.dll
1 file(s) 708,712 bytes

directory of c:\windows\winsxs\wow64_microsoft-windows-kernel32_31bf3856ad364e35_10.0.15063.0_none_af2668ccc37b0411

05/30/2017 01:55 pm 7,072 kernel32.dll
1 file(s) 7,072 bytes

directory of c:\windows\winsxs\wow64_microsoft-windows-kernel32_31bf3856ad364e35_10.0.15063.296_none_32f3fc77f1232854

05/30/2017 01:39 pm 599,576 kernel32.dll
1 file(s) 599,576 bytes

the install pc (win10(64)) has 6 different copies of kernel32.dll . how application supposed know 1 use?

my virtual development pc (winxt(32)) has these 2 copies of richtx32.ocx:
c:>dir /s richtx32.ocx
volume in drive c has no label.
volume serial number f432-f929

directory of c:\program files\clark_anderson\querymgr

03/09/2004 12:00 212,240 richtx32.ocx
1 file(s) 212,240 bytes

directory of c:\windows\system32

03/09/2004 12:00 212,240 richtx32.ocx
1 file(s) 212,240 bytes

my 'tainted' host development pc win7(x64) has these copies of richtx32.ocx:
c:>dir /s richtx32.ocx
volume in drive c os
volume serial number 70f2-883e

directory of c:\program files (x86)\clark_anderson\querymgr

03/09/2004 12:00 212,240 richtx32.ocx
1 file(s) 212,240 bytes

directory of c:\program files (x86)\microsoft visual studio\common\tools\vb\controls\controls_backup

03/09/2004 12:00 212,240 richtx32.ocx
1 file(s) 212,240 bytes

directory of c:\windows\syswow64

02/16/2010 03:22 pm 218,432 richtx32.ocx
1 file(s) 218,432 bytes

the unsuccessful install pc win10(x64) has copies installed nsis script e.g.:
c:>dir /s richtx32.ocx
volume in drive c os
volume serial number 48c7-50d7

directory of c:\program files (x86)\clark_anderson\querymgr

03/09/2004 12:00 212,240 richtx32.ocx
1 file(s) 212,240 bytes

does know significance of this? efforts use reg-free install prevent applications interfering other applications , permitting clean uninstall, again not interfering other applications , data.

i created test application, requested, 1 form 1 richtextbox control. manifest in 1 of comments, below:
nsis script way have creating install of application on pc.

i have little experience windows 10. did find event viewer. see few errors in windows logs/system: distributedcom eventid 10016 occurred once(2) since installed zrichtx application (not several times tried run it)

in same way found error: windows logs/application: application error eventid 1000 task category (100), not respond uninstall , install , few attempts run application end in same error message: component richtx32.ocx not correctly registered ...

i on head parts of installing vb6 applications on (x64) windows 10 , windows 7. why came asking experts.

================= begin activation context generation. input parameter:   flags = 0   processorarchitecture = wow32   culturefallbacks = en-us;en   manifestpath = c:\program files (x86)\clark_anderson\zrichtx\zrichtx.exe.manifest   assemblydirectory = c:\program files (x86)\clark_anderson\zrichtx\   application config file =  ----------------- info: parsing manifest file c:\program files (x86)\clark_anderson\zrichtx\zrichtx.exe.manifest.   info: manifest definition identity zrichtx.exe,type="win32",version="2.4.0.14".   info: reference: stdole2.tlb,type="win32",version="5.1.2600.5512"   info: reference: richtx32.ocx,type="win32",version="6.1.97.82" info: resolving reference stdole2.tlb,type="win32",version="5.1.2600.5512".   info: resolving reference processorarchitecture stdole2.tlb,type="win32",version="5.1.2600.5512".     info: resolving reference culture neutral.       info: applying binding policy.         info: no binding policy redirect found.       info: begin assembly probing.         info: did not find assembly in winsxs.         info: attempt probe manifest @ c:\program files (x86)\clark_anderson\zrichtx\stdole2.tlb.dll.         info: attempt probe manifest @ c:\program files (x86)\clark_anderson\zrichtx\stdole2.tlb.manifest.         info: manifest found @ c:\program files (x86)\clark_anderson\zrichtx\stdole2.tlb.manifest.       info: end assembly probing. info: resolving reference stdole2.tlb.mui,language="*",type="win32",version="5.1.2600.5512".   info: resolving reference processorarchitecture stdole2.tlb.mui,language="*",type="win32",version="5.1.2600.5512".     info: resolving reference culture en-us.       info: applying binding policy.         info: no binding policy redirect found.       info: begin assembly probing.         info: did not find assembly in winsxs.         info: did not find manifest culture en-us.       info: end assembly probing.     info: resolving reference culture en.       info: applying binding policy.         info: no binding policy redirect found.       info: begin assembly probing.         info: did not find assembly in winsxs.         info: did not find manifest culture en.       info: end assembly probing. info: resolving reference richtx32.ocx,type="win32",version="6.1.97.82".   info: resolving reference processorarchitecture richtx32.ocx,type="win32",version="6.1.97.82".     info: resolving reference culture neutral.       info: applying binding policy.         info: no binding policy redirect found.       info: begin assembly probing.         info: did not find assembly in winsxs.         info: attempt probe manifest @ c:\program files (x86)\clark_anderson\zrichtx\richtx32.ocx.dll.         info: attempt probe manifest @ c:\program files (x86)\clark_anderson\zrichtx\richtx32.ocx.manifest.         info: manifest found @ c:\program files (x86)\clark_anderson\zrichtx\richtx32.ocx.manifest.       info: end assembly probing. info: resolving reference richtx32.ocx.mui,language="*",type="win32",version="6.1.97.82".   info: resolving reference processorarchitecture richtx32.ocx.mui,language="*",type="win32",version="6.1.97.82".     info: resolving reference culture en-us.       info: applying binding policy.         info: no binding policy redirect found.       info: begin assembly probing.         info: did not find assembly in winsxs.         info: did not find manifest culture en-us.       info: end assembly probing.     info: resolving reference culture en.       info: applying binding policy.         info: no binding policy redirect found.       info: begin assembly probing.         info: did not find assembly in winsxs.         info: did not find manifest culture en.       info: end assembly probing. info: parsing manifest file c:\program files (x86)\clark_anderson\zrichtx\stdole2.tlb.manifest.   info: manifest definition identity stdole2.tlb,type="win32",version="5.1.2600.5512". info: parsing manifest file c:\program files (x86)\clark_anderson\zrichtx\richtx32.ocx.manifest.   info: manifest definition identity richtx32.ocx,type="win32",version="6.1.97.82". info: activation context generation succeeded. end activation context generation. 

you right. found how open cmd prompt admin. these results. make sense you?

you right. found how open cmd prompt admin. above results. make sense you?

i running out of time. windows10(x64) test pc going away, soon. on windows7(x64) test pc, sxstrace parsed file empty? if logon administrator zrichtx program works?!

i created administrator logon on windows10(x64) test pc... running zrichtx there gets same error msg, sxstrace, again comes empty?!

take nsis out of equation, not relevant problem @ hand.

i think best way solve problem diagnose on own.

start new vb project , add problematic ocx control , minimal required amount of code reproduce problem on machine issue. look @ event log , run sxstrace try figure out why cannot find component...


Comments

Popular posts from this blog

Is there a better way to structure post methods in Class Based Views -

performance - Why is XCHG reg, reg a 3 micro-op instruction on modern Intel architectures? -

jquery - Responsive Navbar with Sub Navbar -