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