Old 23rd January 2007, 14:16   #1
tcfred
Junior Member
 
Join Date: Jan 2007
Posts: 4
Uninstaller taking out system files

The two files comdlg32.ocx and msstdfmt.dll are required for VB6 and also are in the deployment package for my prog.
Thanks to the Nuttall VB6 to NIS Converter, I am as far as I am but these two files are not being incremented on install apparantly.

in the install section.....
ReadRegDWord $Version HKLM "Software\VBGenerator\Pgm" Version
IfErrors new_installation <errors? why not 0>
StrCpy $ISeeIt 1
new_installation....
!insertmacro InstallLib REGDLL $ISeeIt REBOOT_PROTECTED \
"Support\COMDLG32.OCX" "$SysDir\COMDLG32.OCX" "$SysDir"
..and for MSSTDFMT.DLL

then in the Uninstall section....
!insertmacro UnInstallLib REGDLL SHARED REBOOT_PROTECTED "$SysDir\COMDLG32.OCX"
..and for MSSTDFMT.DLL

The removal details show the DLL and OCX each being unregistered and then deleted.

A leg up on this will be greatly appreciated.
tcfred
tcfred is offline   Reply With Quote
Old 23rd January 2007, 14:24   #2
kichik
M.I.A.
[NSIS Dev, Mod]
 
kichik's Avatar
 
Join Date: Oct 2001
Location: Israel
Posts: 11,343
Do you properly delete that registry key in the uninstaller? If it stays there, future installers will not increment the share count because they'd think an installer for an older version has already done so for them.

NSIS FAQ | NSIS Home Page | Donate $
"I hear and I forget. I see and I remember. I do and I understand." -- Confucius
kichik is offline   Reply With Quote
Old 23rd January 2007, 17:52   #3
tcfred
Junior Member
 
Join Date: Jan 2007
Posts: 4
The uninstall registry folder was in fact intact after the uninstallation process. Should the Uninstaller section have this line added?
DeleteRegKey HKLM "Software\\Micr...\Uninstall\MyProg"
...to get rid of the folder that remains?
There is also a curious line in the UnInstall details window "Could not find symbol: DllUnregisterServer.

tcfred
tcfred is offline   Reply With Quote
Old 23rd January 2007, 18:01   #4
kichik
M.I.A.
[NSIS Dev, Mod]
 
kichik's Avatar
 
Join Date: Oct 2001
Location: Israel
Posts: 11,343
Yes, you must use DeleteRegKey in the uninstaller.

The DllUnregisterServer line means you've tried to unregister a DLL that doesn't require registration.

NSIS FAQ | NSIS Home Page | Donate $
"I hear and I forget. I see and I remember. I do and I understand." -- Confucius
kichik is offline   Reply With Quote
Old 23rd January 2007, 18:11   #5
tcfred
Junior Member
 
Join Date: Jan 2007
Posts: 4
Outstanding. I will fix it up tonight. Thank you for your kind assist.

tcfred
tcfred is offline   Reply With Quote
Old 24th January 2007, 05:07   #6
tcfred
Junior Member
 
Join Date: Jan 2007
Posts: 4
I ran Uninstaller from Add/Remove
MSSTDFMT.DLL, COMDLG32.OCX were again removed from System32 folder.

Add/Remove entry is eliminated. OK
Registery folders properly removed.
StartMenu /MyProg folder is still present but is empty.
Program Files /MyProg folder contains only uninstaller.
_____________
Reboot
StartMenu folder still there & empty
Program Files/MyProg folder still there with uninstaller.
_____________
I can't see anything in the code that would cause the 2 files to get removed but I am assuming that the installmacros would increment the file count for the 2 DLLs. Could it be that my problem is really with the VB6 Service Pack 6 installation that I am doing to replace the 2 files, and this is not incrementing the related registry from 0 to 1 so when I remove my program, the system thinks that my prog is the only one using them?

My script is attached if you could see anything else or can see why the SM folder and Program File folder/ uninstaller are not deleting.

I'm getting this gradually.

tcfred
tcfred is offline   Reply With Quote
Old 24th January 2007, 05:15   #7
Red Wine
Forum King
 
Red Wine's Avatar
 
Join Date: Mar 2006
Location: Ath. GR
Posts: 2,078
Quote:
StartMenu folder still there & empty
Program Files/MyProg folder still there with uninstaller.
Did you add at the bottom of uninstall section,
RmDir "$SMPROGRAMS\Myprog"
Delete "$INSTDIR\unistaller.exe"
RmDir "$INSTDIR"

Quick AVI Creator - Quick and easy convert from DVD/MPEG/AVI/MKV to AVI/MP4/MKV
Quick AVI Creator entirely edited with NSIS and entirely upgraded to Unicode NSIS
Red Wine is offline   Reply With Quote
Old 24th January 2007, 08:22   #8
kichik
M.I.A.
[NSIS Dev, Mod]
 
kichik's Avatar
 
Join Date: Oct 2001
Location: Israel
Posts: 11,343
tcfred, it's probably because previous uninstallers have already eliminated the reference count for those files. After installing your application again, manually increment the reference count. Then, when you uninstall, the files won't be removed because the reference count won't yet be zero.

NSIS FAQ | NSIS Home Page | Donate $
"I hear and I forget. I see and I remember. I do and I understand." -- Confucius
kichik is offline   Reply With Quote
Reply
Go Back   Winamp & Shoutcast Forums > Developer Center > NSIS Discussion

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