Damien Cassou wrote in "[Pharo-dev] [FEEDBACK] Install Pharo on Windows":
Hi,

I've just made an executable file for installing Pharo on Windows (in
program files, with a shortcut in the Start menu...). Please try
it and report problems:

https://ci.inria.fr/pharo-contribution/job/PharoLauncher-Win-Package/lastSuccessfulBuild/artifact/pharo-ci/pharo_installer.exe

Best,

Just reporting a very strange experience. A while ago I installed Pharo Launcher using the Windows Installer and its been working great. In the meantime I have dropped into development mode and opened a few other windows. Calling that one Image-A, today I wanted to throw away my changes, so from folder "C:\Program Files (x86)\Pharo\" I deleted files pharo.{image,changes} and dropped in files pharolauncher.{image,changes}. now with a single image in the oflder I expected it to just start up, but strangely I get presented with a file-choice-dialog on folder "C:\Program Files (x86)\Pharo\" showing pharo.image and pharolauncher.image to choose between, even though Windows Explorer shows pharo.image does not exist.

So I renamed pharolauncher.image to pharo.image, and the file-choice-dialog stops coming up, but it the old pharo.image that is still opening. Now the REALLY weird thing to keep in mind as I describe below a few things I've tried, is that the native window title bar _always_ shows "Pharo! (C:\Program Files (x86)\Pharo\Pharo.image"

I have tried:
* a. Re-rerunning the PharoLauncher installer
* b. Running the PharoLauncher un-install, then re-running the installer.
* c. Starting from the Windows Start menu
* d. Double-clicking file "pharo.exe" in folder "C:\Program Files (x86)\Pharo\"
* e. Dragging file "pharo.image" on top of file "pharo.exe"
* f. Deleting file "pharo.image" from folder "C:\Program Files (x86)\Pharo\" - but double-clicking "pharo.exe" still starts * g. Manually deleting whole folder "C:\Program Files (x86)\Pharo\" then re-running the installer. * h. When saving the image, the date on "C:\Program Files (x86)\Pharo\pharo.image" is not being updated. * i. Evaluating FileSystem workingDirectory --> "FileSystem workingDirectory"

* j. After the folder "C:\Program Files (x86)\Pharo\" to "C:\temp\Pharo\" then double-slicking on Pharo.exe opens the fresh pharo.image as expected. * k. Re-running the installer but using a different folder "C:\Program Files (x86)\Pharo3\" works.

Its been a frustratingly surreal experience to investigate, for a while not even believing what I was seeing. Now I operate under a non-admin account (as should anyone with the smallest belief in security [1]) and rely on UAC to elevate privileges during an install. So the problem turned out to be with Microsoft's SILENT file virtualization. I found an echo of the install in folder "C:\Users\Ben\AppData\Local\VirtualStore\Program Files (x86)\Pharo\". Deleting that folder resolved the shallow-problem, such the fresh install was now running as expected.

However the deeper-problem is that this is likely to frustrate others in the future - particularly in a corporate setting trying to update PharoLauncher fighting multiple user's virtualized copies. So far it seems the options are:

1. Add a manifest to the installer such that UAC virtualization is turned off (per Task #5 [3]). Saving the image will now fail but avoid submarine problems later on. Can the VM be told the image is read-only and Save is disabled. Or if a save fails, could is fall back to the Save As defaulting to the folder where PharoLauncher is managing its other images.

There might be other issues to deal with the files Pharo.ini, stderr & stdout being prevented from being written to in the normal course of operation.

2. Install "User Only" per [4]. This is probably easiest to do this close to Pharo 3 release.

[1] http://blogs.msdn.com/b/aaron_margosis/archive/2004/06/17/157962.aspx
[2] https://blogs.windows.com/windows/archive/b/developers/archive/2009/08/04/user-account-control-data-redirection.aspx [3] http://www.klopfenstein.net/lorenz.aspx/simple-nsis-installer-with-user-execution-level [4] http://www.klopfenstein.net/lorenz.aspx/simple-nsis-installer-with-user-execution-level

cheer -ben

Reply via email to