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.
Installation problem with v3.5.1.4
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:
This seems to work in our tests.
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.
psguru
PrestoSoft
PrestoSoft
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:
This seems to work in our tests.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.

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.

(Last sentence begins from "8" and ")", and not from smile.)
Thank you.
Hello.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.
I have this option selected all the time. More, I don't change options between these two installations.
Thank you.
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:psguru wrote:In such case I can't reproduce/explain your issue.
What OS are you using? Also, is it 32- or 64-bit?
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.