<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
I can confirm this behaviour.  It looks like FilePlugin cannot 'rename'
a folder across drives, although it can rename a file across drives. A
hack to demonstrate from Workspace...<br>
<br>
filePlugin := FilePluginPrims allInstances first.<br>
filePlugin  rename: 'C:\Temp\Test\file1.txt' to:
'C:\Temp\Test\file2.txt'.  "--&gt;sucess"<br>
filePlugin rename: 'E:\Temp\Test\file1.txt' to:
'E:\Temp\Test\file2.txt'.  "--&gt;sucess"<br>
filePlugin rename: 'C:\Temp\Test\file2.txt' to:
'E:\Temp\Test\file3.txt'.  "--&gt;sucess"<br>
<br>
filePlugin rename: 'C:\Temp\Test\folder1' to: 'C:\Temp\Test\folder2'. 
"--&gt;sucess"<br>
filePlugin rename: 'E:\Temp\Test\folder1' to: 'E:\Temp\Test\folder2'. 
"--&gt;sucess"<br>
filePlugin rename: 'C:\Temp\Test\folder2' to: 'E:\Temp\Test\folder3'. 
"--&gt;fail"<br>
<br>
I think that is more of a design constraint that a bug.  VBscript has a
similar problem [1]. I cloned Pharo-vm off github and in
".../platforms/wind32/plugins/FilePlugin/sqWin32FilePrims.c" found
function sqFileRenameOldSizeNewSize uses win32api function MoveFileW
which is documented [2] as "The MoveFile function will move (rename)
either a file or a directory
(including its children) either in the same directory or across
directories. The one caveat is that the MoveFile function will fail on
directory moves when the destination is on a different volume." <br>
<br>
Unix platforms don't encounter this since all volumes are mounted under
one root.  (e.g. OSX mounting usb drives under /Volumes). I guess the
Unix equivalent might be renaming to folder across network shares,
though I'm not familiar with how different OS's handles that.<br>
<br>
However we should consider consistency across platforms.  Cross volume
folder renames could be checked for, and modified to a copy/delete
strategy. To state the obvious, the options of where to do this are:<br>
a. In PharoLauncher <br>
b. In Pharo in
WindowsStore(FileSystemStore)&gt;&gt;rename:ifAbsent:to:ifPresent:fileSystem:
<br>
c. In VM <br>
<br>
Off the cuff, I'd vote for (b.), but others will better idea of the
approach to take. Now if indeed a copy/delete fallback strategy is
considered beneficial, it would need to consider how timestamps are
handled.<br>
<br>
[1]
<a class="moz-txt-link-freetext" href="https://groups.google.com/forum/#!topic/microsoft.public.scripting.vbscript/gz7mv5r50xs">https://groups.google.com/forum/#!topic/microsoft.public.scripting.vbscript/gz7mv5r50xs</a><br>
[2]
<a class="moz-txt-link-freetext" href="http://msdn.microsoft.com/en-us/library/windows/desktop/aa365239(v=vs.85).aspx">http://msdn.microsoft.com/en-us/library/windows/desktop/aa365239(v=vs.85).aspx</a><br>
<br>
cheers -ben<br>
<br>
btw, Since this was my first time looking a VM code, I'm happy to
report it was dead easy to clone pharo-vm from github and review
(without yet trying to compile). Actually I cloned on OSX so I could
`find` the win32 FilePlugin code.<br>
<br>
<br>
kilon alios wrote:
<blockquote
 cite="mid:CAN88a2H-EnEUmo8NuYG35x05eTWMEXRVs46_XFivdMY9PwL6FA@mail.gmail.com"
 type="cite">
  <div dir="ltr">So I manage to get Launcher running with downloading
pharolauncher zip and then downloading pharo 3 and joining the two
folders. Launcher now runs but  I dont want it to store images in my c
drive so I go to preferences and tell it where in my D drive to save
images (D:\software\PharoImages) I press enter and I am getting this
error
  <div><br>
  </div>
  <div>
  <div>WindowsStore(Object)&gt;&gt;primitiveFailed:</div>
  <div>WindowsStore(Object)&gt;&gt;primitiveFailed</div>
  <div>WindowsStore(FileSystemStore)&gt;&gt;rename:ifAbsent:to:ifPresent:fileSystem:</div>
  <div>FileSystem&gt;&gt;rename:ifAbsent:to:ifPresent:</div>
  <div>FileSystem&gt;&gt;rename:to:</div>
  <div>FileReference&gt;&gt;moveTo:</div>
  <div>PhLRelocateImageDirectoryCommand&gt;&gt;execute in Block: [
:child | child moveTo: (self target resolvePath:...etc...</div>
  <div>Array(SequenceableCollection)&gt;&gt;collect:</div>
  <div>PhLRelocateImageDirectoryCommand&gt;&gt;execute</div>
  <div>PhLRelocateImageDirectoryCommand&gt;&gt;executeOrInform</div>
  <div>PhLDirectoryBasedImageRepository class&gt;&gt;migrateFrom:to:</div>
  <div>PhLDirectoryBasedImageRepository class&gt;&gt;location:</div>
  <div>PhLDirectoryBasedImageRepository class&gt;&gt;locationString:</div>
  <div>SettingDeclaration&gt;&gt;realValue:</div>
  <div>SettingDeclaration&gt;&gt;index:</div>
  <div>EditableDropListMorph(DropListMorph)&gt;&gt;listSelectionIndex:</div>
  <div>EditableDropListMorph&gt;&gt;content:</div>
  <div>PluggableTextFieldMorph&gt;&gt;acceptTextInModel</div>
  <div>PluggableTextFieldMorph(PluggableTextMorph)&gt;&gt;acceptBasic</div>
  <div>PluggableTextFieldMorph&gt;&gt;accept</div>
  <div>TextMorphForFieldView(TextMorphForEditView)&gt;&gt;acceptContents</div>
  <div>TextEditor&gt;&gt;accept</div>
  <div>TextMorphForFieldView(TextMorphForEditView)&gt;&gt;keyStroke:</div>
  <div>TextMorphForFieldView&gt;&gt;keyStroke:</div>
  <div>TextMorphForFieldView(TextMorph)&gt;&gt;handleKeystroke:</div>
  <div>KeyboardEvent&gt;&gt;sentTo:</div>
  <div>TextMorphForFieldView(Morph)&gt;&gt;handleEvent:</div>
  <div>TextMorphForFieldView(Morph)&gt;&gt;handleFocusEvent:</div>
  <div>HandMorph&gt;&gt;sendFocusEvent:to:clear: in Block: [ ...</div>
  <div>BlockClosure&gt;&gt;on:do:</div>
  </div>
  <div><br>
  </div>
  </div>
  <div class="gmail_extra"><br>
  <br>
  <div class="gmail_quote">On Mon, Sep 1, 2014 at 12:06 PM, kilon alios
  <span dir="ltr">&lt;<a moz-do-not-send="true"
 href="mailto:kilon.alios@gmail.com" target="_blank">kilon.alios@gmail.com</a>&gt;</span>
wrote:<br>
  <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
    <div dir="ltr">I am not back to my work pc, so if you have any
ideas how to proceed I am open to suggestions. </div>
    <div class="HOEnZb">
    <div class="h5">
    <div class="gmail_extra"><br>
    <br>
    <div class="gmail_quote">On Thu, Aug 28, 2014 at 5:17 PM, Tim
Mackinnon <span dir="ltr">&lt;<a moz-do-not-send="true"
 href="mailto:tim@testit.works" target="_blank">tim@testit.works</a>&gt;</span>
wrote:<br>
    <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
      <div style="">Kilon - it would be good if we could percevear to
try and get a fix and detailed instructions for other less confident
users… At least test Ben’s updated installer so we can clear this.
      <div><br>
      </div>
      <div>I appreciate the aggravation you are putting up with.</div>
      <span><font color="#888888">
      <div><br>
      </div>
      <div>Tim</div>
      </font></span>
      <div>
      <div>
      <div> <br>
      <div>
      <div>On 28 Aug 2014, at 10:35, kilon alios &lt;<a
 moz-do-not-send="true" href="mailto:kilon.alios@gmail.com"
 target="_blank">kilon.alios@gmail.com</a>&gt; wrote:</div>
      <br>
      <blockquote type="cite">
        <div dir="ltr">My work pc is dual boot to ubuntu and win 7 . I
am not a fan of linux either, loads of problems there but nowhere near
as bad as windoom. 
        <div><br>
        </div>
        <div>I need windoom because of a Greek OCR I use at work to
scan legal documents. I have no choice other than to continue using it. </div>
        <div><br>
        </div>
        <div>I dont care what the corporate world does or the fact that
almost 100% of my fellow lawyers use windoom and some still DOS. Thats
their problem :D</div>
        <div><br>
        </div>
        <div>It would be nice to support what 95% of people use out
there, but alas I cant take it anymore. Coding should be fun, Windoom
kills my inner child. Sorry for those that have to tolerate this crap,
but I am lucky enough not to . </div>
        <div><br>
        </div>
        <div>/ranting off </div>
        </div>
        <div class="gmail_extra"><br>
        <br>
        <div class="gmail_quote">On Thu, Aug 28, 2014 at 11:50 AM, Ben
Coman <span dir="ltr">&lt;<a moz-do-not-send="true"
 href="mailto:btc@openinworld.com" target="_blank">btc@openinworld.com</a>&gt;</span>
wrote:<br>
        <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
          <div>kilon alios wrote:<br>
          <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
ok thing get worse and worse<br>
            <br>
I try to run pharo as administrator and pharo opens and exits
immediately , it creates a stderr which contains the following<br>
            <br>
            <a moz-do-not-send="true"
 href="http://pastebin.com/v9Hpx9pK" target="_blank">http://pastebin.com/v9Hpx9pK</a><br>
            <br>
I found the folder you mentioned and I deleted it , now pharo does not
open at all even when run without "run as administrator" <br>
Boy I hate Windoom. I also tried Tim link , nothing, pharo opens but
does nothing, no gui, nothing. I know it opens because i can see its
process in the task manager which i have to terminate manually. <br>
I do all my coding and art on macos, I only have windows at work so i
can test my code on windoom too, but this was the last straw, I had
enough with this uber crappy OS for 17 years now. I am dropping support
for it and sticking to MacOS only. <br>
Thanks guys for your help but it does not worth it. I hope no other
windows user experience my problem. <br>
            <br>
          </blockquote>
          <br>
          </div>
I empathize.  I've been a Linux advocate for years, but never made the
full desktop switch since I needed a Windows system for corporate
compatibility. Then I got a mac-mini to experiment with iPad Mobile
Device Management, and found it easier to get Latex working on it than
on Windows (for processing Pillar output), and now I find myself using
it for Pharo more every day, and my Windows box is starting to be
neglected (except I still need to migrate my old Thunderbird email
archive).<br>
          <br>
However success in the corporate world still hinges a lot on Windows
compatibility. I will still have a go at updating PharoLauncher
Installer to avoid this problem. <br>
cheers, Ben<br>
          <br>
P.S. @Tim, Your alternate-VM feature sound interesting.  I'll check it
out.<br>
          <br>
        </blockquote>
        </div>
        <br>
        </div>
      </blockquote>
      </div>
      <br>
      </div>
      </div>
      </div>
      </div>
    </blockquote>
    </div>
    <br>
    </div>
    </div>
    </div>
  </blockquote>
  </div>
  <br>
  </div>
</blockquote>
<br>
</body>
</html>