WyUpdate requires stoping IIS appPool in order to initialize the wyupdate.

Following is my application folder hierarchy,

InstallationRoot/wyUpdate/ - contains both wyUpdater.exe and client.wyc filesInstallationRoot/iis/ - contains files related to IIS siteInstallationRoot/app/ - contains application exe and the content of this folder is patched using wyUpdate for every release.

I am trying to initialize wyUpdaterBackend from application exe, wyupdate never initializes if the IIS site is running, if I stop the IIS appPool (The thread just hangs until I stop the appPool) then wyupdate initializes and check for updates and applies it if any. I am really puzzled why I need to stop the IIS site which is nowhere related to wyupdate. What could be the reason for this strange requirement?

Note: InstallationRoot/app/, InstallationRoot/iis/ contains the same set of files(DLLs) but one folder is configured as IIS application and another one is used to invoke standalone exe. WyUpdater is only initialized in standalone exe.

wyUpdate requires any files-in-use to be closed and any processes to be closed in order to apply updates. That's just how files work in Windows.

wyUpdate can check for updates without requiring that, see: https://wyday.com/wybuild/help/silent-checking.php

Hello Sam,

I am sure that no files are under use. Even if any of the files are under use, why does wyUpdate requires it to be stopped for just initializing the wyUpdater control?

I already tried silently updating option using wyUpdate.exe directly. But, I was getting return code 0 even if the update exists. I found that this bug already exists by checking this (https://wyday.com/forum/t/1538/incorrect-exit-code-from-wyupdate-via-command-line/) forum post, and found that it is fixed but not yet released, so I made wyUpdate.exe from the latest source and tried updating, but the same error did happen.

The error is due to the invoked process was waiting to read its output by the invoker. So if I kill the parent(invoker) the application runs normally. I overcome this error, by simply reading the process output from the invoker.

Refer http://stackoverflow.com/a/439633 for more information regarding this bug.