Installation problem with v3.5.1.4

General questions about using ExamDiff Pro, ideas for new features, bug reports, and usage tips.
Post Reply
AlexL
Expert Member
Posts: 129
Joined: Wed Aug 11, 2004 6:25 am
Location: Israel
Contact:

Installation problem with v3.5.1.4

Post by AlexL »

Hello.

During the installation of v3.5.1.4 over v3.5.1.0 I got error message that the installer can't delete file
C:\Program Files\ExamDiff Pro\EDPShell.dll
Though EDP was not running, installer was right, and the reason is clear: the file was locked by explorer.exe. But I don't remember that I got this error during older installation procedures.

Usually application installers put such locked files in a queue to be replaced after reboot, and require to restart computer - without error messages.

There is some other point - how to avoid version conflict between all files of the new version (that the installer succeeded to replace before the reboot) and the old locked EDPShell.dll - in case a user delayed reboot. In order to solve it, installer should check the files for lock before actual install, and in case of lock it should queue all EDP files to be replaced after reboot - instead of queueing only locked files. Hope it is possible to implement.

I don't know how to check files if they are locked, and if such API exists in MS Windows. Maybe try to replace these files by their own current copy...

Another approach - block using EDP before reboot if installer (or EDP itself) encounters version conflict before reboot.

Thank you.
User avatar
psguru
Site Admin
Posts: 2228
Joined: Sat May 15, 2004 4:23 pm
Location: California
Contact:

Post by psguru »

This behavior is already built into the installer, which is based on Inno Setup, and uses "restartreplace" option for the Shell Extension DLL. This option is described in Inno Setup Help as follows:

Code: Select all

This flag is generally useful when replacing core system files. If the file existed beforehand and was found to be locked resulting in Setup being unable to replace it, Setup will register the file (either in WININIT.INI or by using MoveFileEx, for Windows and Windows NT respectively) to be replaced the next time the system is restarted. When this happens, the user will be prompted to restart the computer at the end of the installation process. 
This seems to work in our tests.
psguru
PrestoSoft
AlexL
Expert Member
Posts: 129
Joined: Wed Aug 11, 2004 6:25 am
Location: Israel
Contact:

Post by AlexL »

psguru wrote:This behavior is already built into the installer, which is based on Inno Setup, and uses "restartreplace" option for the Shell Extension DLL. This option is described in Inno Setup Help as follows:

Code: Select all

This flag is generally useful when replacing core system files. If the file existed beforehand and was found to be locked resulting in Setup being unable to replace it, Setup will register the file (either in WININIT.INI or by using MoveFileEx, for Windows and Windows NT respectively) to be replaced the next time the system is restarted. When this happens, the user will be prompted to restart the computer at the end of the installation process. 
This seems to work in our tests.
Image
How I got this:
1) Close all Explorer and folders windows (in order to decrease probability of locked EDPShell.dll).
2) Uninstall EDP.
3) Make sure EDP folder is clean (except password file). Otherwise perform necessary steps to clean it.
4) Install some not latest EDP version (I used v3.5.1.0 with plugins).
5) Open some folder (I used "C:\Program Files\ExamDiff Pro") and right-click on some file. Make sure you see EDP context menu about comparing the selected file.
5a) Sometimes we don't see this context menu after installation. I failed to determine the exact sequence, when it happens. How to fix: enter EDP options, disable shell integration and immediately enable it back (no need to press OK in the middle), then exit EDP.
6) Leave that "some folder" opened during the next steps, and the "some file" selected.
7) Install some newer EDP version over the currently installed (I used v3.5.1.4 with plugins), without uninstall the current version.
8) See the error message during installation.
(Last sentence begins from "8" and ")", and not from smile.)

Thank you.
User avatar
psguru
Site Admin
Posts: 2228
Joined: Sat May 15, 2004 4:23 pm
Location: California
Contact:

Post by psguru »

I think I found the culprit. In your second installation, did you have "Enable Windows Explorer Integration" selected? If not, your error can be explained. You should not get the error if tis option is enabled. The fix will be added to the next build of 3.5.
psguru
PrestoSoft
AlexL
Expert Member
Posts: 129
Joined: Wed Aug 11, 2004 6:25 am
Location: Israel
Contact:

Post by AlexL »

psguru wrote:I think I found the culprit. In your second installation, did you have "Enable Windows Explorer Integration" selected? If not, your error can be explained. You should not get the error if tis option is enabled. The fix will be added to the next build of 3.5.
Hello.

I have this option selected all the time. More, I don't change options between these two installations.

Thank you.
User avatar
psguru
Site Admin
Posts: 2228
Joined: Sat May 15, 2004 4:23 pm
Location: California
Contact:

Post by psguru »

In such case I can't reproduce/explain your issue.

What OS are you using? Also, is it 32- or 64-bit?
psguru
PrestoSoft
AlexL
Expert Member
Posts: 129
Joined: Wed Aug 11, 2004 6:25 am
Location: Israel
Contact:

Post by AlexL »

psguru wrote:In such case I can't reproduce/explain your issue.

What OS are you using? Also, is it 32- or 64-bit?
Windows XP Pro + SP2 + all updates. I think it is 32 bits, but don't know how to verify this; maybe motherboard data will help:

Motherboard with two CPU-s:
CPU #0 Intel(R) Pentium(R) 4 CPU 3.00GHz, 3000 MHz
CPU #1 Intel(R) Pentium(R) 4 CPU 3.00GHz, 3000 MHz

CPU Type Intel Pentium 4 530, 3000 MHz (15 x 200)
CPU Alias Prescott
CPU Stepping D0

Regarding DEP:
- "Turn on DEP for essential Windows programs and services only" is active.
- Note "Your computer's processor does not support hardware-based DEP. However, Windows can use DEP software to help prevent some types of attacks" exists.

Thank you.
User avatar
psguru
Site Admin
Posts: 2228
Joined: Sat May 15, 2004 4:23 pm
Location: California
Contact:

Post by psguru »

I'm not sure why you are getting this error. The next build will be updated anyway, please test it when it's available, and let me know if you get the same message.
psguru
PrestoSoft
Post Reply