Tomasz,

Thank you for explaining the nuances of this.  I have this working properly 
now.  Because of all the back and forth, I will detail what I did to make it 
work.  I expect that very similar steps could be used to do this with one or 
more physical PCs and external drives or drive partitions:

GOALS: 
1.  To be able to run two different virtual computers in Parallels (XP 32 bit, 
W7 64 bit).
2.  To be able to run AmiBroker 32 bit with both computers and Amibroker 64 bit 
in the W7.
3.  To use one common data, formulas, includes, and setup files for all 
combinations that was previously set up with XP.

STEPS:
1.  To make sharing easier between virtual machines, I created a virtual F: 
drive in the XP machine (involved several setup steps in Parallels and in W7 to 
initialize it and make sure it was letter F)
2.   Copied my existing Amibroker folder to F:\AmiBroker\
3.   Deleted all .exe and .dll files at the top level of F:\AmiBroker\
4.   Switched to the W7 64 bit virtual machine
5.   Connected the virtual F: drive from the XP machine (involved several setup 
steps in Parallels and in W7 to make sure it was letter F)
6.   Did a full install of 32 bit Amibroker into F:\AmiBroker32\
7.   Did a full install of 64 bit Amibroker into F:\AmiBroker64\
8.   Renamed all X.dll in the Plugins folder in F:\AmiBroker64\ to X64.dll
9.   Copied all renamed plugin files from F:\AmiBroker64\ to 
F:\AmiBroker\Plugins
10. Set "Start in" property of shortcuts for Broker.exe to F:\AmiBroker and 
pinned to start menu, I also renamed AmiBroker shortcut to AmiBroker32
11. Run AmiBroker32, and select Preferences window
12. Change AFL, Standard include path to point to F:\AmiBroker
13. Change Data, Default database path to point to F:\AmiBroker
14. Exit and Run AmiBroker x64, and select Preferences window
15. Change AFL, Standard include path to point to F:\AmiBroker
16. Change Data, Default database path to point to F:\AmiBroker
17. Exit and Shutdown
18. Start the XP machine 
19. Make a shortcut for F:\AmiBroker32\Broker.exe
20. Set "Start in" property of the shortcut for Broker.exe to F:\AmiBroker and 
pinned to start menu, I also renamed it to AmiBroker32
21. Run AmiBroker32, and select Preferences window
22. Change AFL, Standard include path to point to F:\AmiBroker
23. Change Data, Default database path to point to F:\AmiBroker
24. Exit Amibroker

At this point, I was able to run AmiBroker32 form XP or W7 and AmiBroker x64 
from W7.  The Amibroker program data and setups was shared between these 
systems, so that I could run or edit my AFL programs from any of them and they 
would all share the results.

I now have the setup I desired for continuing to be able to run AB on XP for 
trading, while also easily being able to switch to W7 64 bit and AB 32 or 64 
bit systems for testing, comparing performance, and .dll development of the 64 
bit plugin that is needed to run my trading system on W7 64 bit.

I could also have made a W7 32 bit  virtual machine using the same methods if 
it would have been useful to my plans.





On Aug 9, 2010, at 7:53 AM, Tomasz Janeczko wrote:

> 
> 
> Hello,
> 
> With regards to plugin DLLs:
> It is somewhat complicated matter because partially it is governed by Windows 
> OS search order itself.
> When you load an exe it will first look for corresponding DLLs in the EXE 
> directory
> (not in "current working directory").  So all DLLs and EXE files that are in 
> the same
> directory where broker.exe is, are loaded from that directory. That is what 
> you expect.
> Problem begins when some DLLs are NOT in the directory where 'exe' file is but
> in the SUBdirectory (like Plugins subfolder). In that case "Plugins" relative 
> path
> will start from Current working directory, not from 'exe' directory.
> So plugins are the only DLLs that are affected.
> 
> So with regards to IQFeed plugin, you can workaround this by simply renaming
> 64-bit edition to IQFeed64.dll.
> AmiBroker is smart enough not to rely on file name and it will load 
> appropriate
> 'bitness' version automatically.
> 
> 
> "It looks like I can not share layouts, parameters (...)"
> That is incorrect statement. You _can_ share layouts and parameters. These 
> are ordinary files that are read
> from current working directory.
> 
> 
> Best regards,
> Tomasz Janeczko
> amibroker.com
> 
> On 2010-08-09 13:13, Dennis Brown wrote:
>> 
>> Tomasz,
>> 
>> Thank you for explaining the Start in property.  Sometimes Mac guys are 
>> clueless.
>> 
>> Things did not work as expected, or maybe they did, but my expectations were 
>> wrong.
>> 
>> I copied a full installation of my 32 bit AB from my XP drive into 
>> F:\AmibrokerData
>> Then, I deleted all .dll and .exe files from from the AmibrokerData folder.
>> I did a full install of 32 bit AB into F:\Amibroker32
>> I did a full install of 64 bit AB into F:\Amibroker64
>> I set the Start in property of both to F:\AmibrokerData
>> I also set the preferences of both to using F:\AmibrokerData for formulas, 
>> includes, and database
>> 
>> Neither AB32 nor AB64 would recognize their local plugins.  So they would 
>> not start up the IQFeed.  They were looking for the plugin .dll files in the 
>> AmibrokerData folder.
>> When I copied the plugin folder from Amibroker32 to AmibrokerData, then 
>> Amibroker32 IQFeed would try to start, but Amibroker64would not.
>> When I copied the plugin folder from Amibroker64 to AmibrokerData, then 
>> Amibroker64 IQFeed would try to start, but Amibroker32would not.
>> 
>> This leads me to believe that when the Start in property is set, AB is also 
>> looking for at least some and perhaps all .exe or .dll files in the 
>> AmibrokerData folder.  That means that it cannot be used as a complete 
>> shared setup/data folder for both AB32 and AB64 because at a minimum the 
>> .dll for IQFeed is different for the two, but named the same.
>> 
>> It looks like I can share formulas, includes, and database via preferences.
>> It looks like I can not share layouts, parameters and other setup files 
>> between the different AB installations that require different .dll files via 
>> Start in property.
>> 
>> That is as far as I can figure it out at this point.
>> 
>> Am I still missing some important point?
>> 
>> I would like to be able to run 3 installations (XP AB32, W7 AB32, W7 AB64), 
>> using the Start in property mode on a common AmiBroker folder.  All my local 
>> files and parameters are also written to the relative addresses inside the 
>> Amibroker folder.  I want to make sure I am working with only one copy of 
>> these files during my trading, testing, and development as I slowly move 
>> from XP 32 bit to W7 64 bit.
>> 
>> I think this might only work if the Broker.exe program looks for executables 
>> in its local folder, and not in the Start in folder.  This is what I thought 
>> you were telling me it did, but I am not perfectly clear about this.
>> 
>> Best regards,
>> Dennis
>> 
>> 
>> 
>> On Aug 8, 2010, at 6:30 AM, Tomasz Janeczko wrote:
>> 
>>> 
>>> 
>>> Hello,
>>> 
>>> Yes it is possible to have common folder for data. You would need to modify
>>> "Start In" property of the shortcut you are using to run AmiBroker to point 
>>> to
>>> that "shared" folder. Such shared folder should contain all files *except* 
>>> executables.
>>> "Start in" defines current working directory for the application. AmiBroker 
>>> uses
>>> *relative* paths from current working directory.
>>> 
>>> Best regards,
>>> Tomasz Janeczko
>>> amibroker.com
>>> 
>>> On 2010-08-08 05:50, Dennis Brown wrote:
>>>> 
>>>> Keith / Tomasz,
>>>> 
>>>> Thanks for the suggestions.
>>>> 
>>>> I created a new F:  drive.  I created 3 full installations called 
>>>> Amibroker32, AmiBroker64, and AmiBrokerData.  I copied my old installation 
>>>> folder from my XP machine into the AmiBrokerData folder.
>>>> 
>>>> I did not see anyplace where I could specify a "support files" path during 
>>>> installation.  
>>>> 
>>>> After installation, I selected the F:\AmiBrokerData\ files for the Include 
>>>> path, the Formula path, and the default database path.  I did not see any 
>>>> way to share more files than these.
>>>> 
>>>> I had to copy my Layouts files from my old installation into both of the 
>>>> new installations.  I did not see a way to share one layout folder.
>>>> 
>>>> Creating the full installation in the AmiBrokerData folder and then 
>>>> copying my old installation folder on top of it seemed like an unnecessary 
>>>> step since I can't share all those files other than the ones I select in 
>>>> the preferences of each install.
>>>> 
>>>> I am wondering if it is possible to have both installations 32 & 64 in the 
>>>> same folder that is a combination of all files.  Broker would have to be 
>>>> renamed to Broker64 for one of them.  My first shot at trying that did not 
>>>> work for the Broker64.
>>>> 
>>>> Am I missing something here?
>>>> 
>>>> Best regards,
>>>> 
>>>> Dennis
>>>> 
>>>> 
>>>> On Aug 7, 2010, at 6:39 PM, Tomasz Janeczko wrote:
>>>> 
>>>>> 
>>>>> 
>>>>> Hello,
>>>>> 
>>>>> For what is worth, on my machine 32-bit AB is installed into
>>>>> F:\AmiBroker 
>>>>> directory, while 64- bit is installed into
>>>>> F:\AmiBroker64
>>>>> directory. As you can see none of them are "Program Files". 
>>>>> 
>>>>> With regards to "sharing" files - technically all files can be used by 
>>>>> both versions (are binary compatible) with exception to
>>>>> EXECUTABLE files (all with .EXE and .DLL extensions). In my opinion 
>>>>> however, only database files are large enough
>>>>> to make "sharing" them sensible option.
>>>>> 
>>>>> Best regards,
>>>>> Tomasz Janeczko
>>>>> amibroker.com
>>>>> 
>>>>> On 2010-08-07 19:49, Keith McCombs wrote:
>>>>>> 
>>>>>> Dennis --
>>>>>> When you do a full install (not an upgrade), AB first asks where to 
>>>>>> install AB, and then asks where to install support files (including all 
>>>>>> .afl code, data bases, etc.).  Ideally, you would put AB32 in one 
>>>>>> folder, AB64 in a second one, and AB support files in a third.  The AB 
>>>>>> support files would be shared by AB32 and AB64.
>>>>>> 
>>>>>> That's very easy, if you do it from the very start.  I have found it to 
>>>>>> be more difficult, because I wanted to preserve many years of historical 
>>>>>> work, programs, layouts, watch lists, results, etc..  This is what I did 
>>>>>> on my PC after upgrading from Win2k (32bit) to XP64:
>>>>>> 1.  Saved all of C:\Program Files\Amibroker\ from Win2K system.
>>>>>> Remaining operations all performed on new XP64 system:
>>>>>> 2.  Did a fresh install of AB32 into c:\Program Files\Amibroker\, 
>>>>>> including AB32 and all support files.  
>>>>>> 3.  Copied saved Win2K AB right over AB32 installed in step 2 above.
>>>>>> 4.  Did a second fresh install of AB32 on XP64 into c:\Program Files 
>>>>>> (x86)\Amibroker\, but with support folder as c:\Program Files\Amibroker\.
>>>>>> 5.  Did a fresh install of AB64 into c:\Program Files\Amibroker\.
>>>>>> 
>>>>>> This works for me.  I run both AB32 and AB64 interchangeably, though not 
>>>>>> simultaneously.
>>>>>> 
>>>>>> I would much prefer to have AB support folder outside of any c:\Program 
>>>>>> Files ....\.  But have not been able to do so, after many tedious 
>>>>>> efforts, including correspondence with AB support.
>>>>>> 
>>>>>> BTW, according to TJ, AB32 and AB64 can be installed in any folders.  
>>>>>> They do not have to be in c:\Program Files ...\.
>>>>>> 
>>>>>> Hope this helps.
>>>>>> -- Keith
>>>>>> 
>>>>>> BTW, if you manage to somehow set up three different folders, with all 
>>>>>> your history preserved in an independent support one, please let me know 
>>>>>> how you did it.
>>>>>> 
>>>>>> On 8/7/2010 12:20, Dennis Brown wrote:
>>>>>>> 
>>>>>>> Hello,
>>>>>>> 
>>>>>>> I just installed a clean upgrade of Windows 7 64 bit as a new virtual 
>>>>>>> machine in Parallels on my Mac Pro. I also have an XP 32 bit virtual 
>>>>>>> machine that I was upgrading from which contains my AmiBroker folder 
>>>>>>> with all the associated files.
>>>>>>> 
>>>>>>> I did a full install of AB 64 bit on the new VM. I also have the 64 bit 
>>>>>>> IQFeed installed. Everything seems to work fine. 
>>>>>>> 
>>>>>>> I can run the XP 32 bit or the W7 64 bit system alternately. I have 
>>>>>>> attached the XP virtual C: disk drive to the 64 bit system as another 
>>>>>>> drive, so the 64 bit system can read or copy over anything from the old 
>>>>>>> system, just like it was an external backup drive.
>>>>>>> 
>>>>>>> This made for a very easy upgrade in just a couple of hours last night.
>>>>>>> 
>>>>>>> However, I realized, that I am setting myself up for duplicating the 
>>>>>>> data for AB which will take a lot of extra disk drive space (I really 
>>>>>>> only have one disk drive that I run from, even though it is broken up 
>>>>>>> into several virtual drives). So, I want to clean up my act and make a 
>>>>>>> separate virtual hard drive just for the AB stuff. Tomasz has stated 
>>>>>>> that he has a drive F: for all his program files, so that he can share 
>>>>>>> them more easily between systems. That would be very easy for me to set 
>>>>>>> up. 
>>>>>>> 
>>>>>>> My question then becomes one of organization of the AB folder so that I 
>>>>>>> can have both a 32 bit and a 64 bit version installed, but have common 
>>>>>>> files between them whenever possible.
>>>>>>> 
>>>>>>> I want to be able to run each alternately, not at the same time. This 
>>>>>>> will give me a way to compare performance. It also seems that my 
>>>>>>> previously written very simple DLL for my Flexible Parameters does not 
>>>>>>> run on the 64 bit W7. So, I will have to work on reinventing the wheel 
>>>>>>> from two years ago again to move forward.
>>>>>>> 
>>>>>>> Another advantage of putting the AB stuff in a different virtual drive 
>>>>>>> from the rest of the VM is that incremental backups on my Mac will be 
>>>>>>> more efficient. It might even make sense from that point of view, to 
>>>>>>> break the AB stuff up into two virtual disks -- a separate disk for the 
>>>>>>> databases which could be recovered from a backfill if needed, so it 
>>>>>>> would not need multiple incremental backups.
>>>>>>> 
>>>>>>> Can this be done?
>>>>>>> Which files can be common between 32 and 64 bit AB?
>>>>>>> Where do I put the 32bit and 64 bit programs so that they can each run 
>>>>>>> with the same layouts and formulas and databases?
>>>>>>> 
>>>>>>> Best regards,
>>>>>>> Dennis
>>>>>>> 
>>>>> 
>>>>> 
>>>> 
>>> 
>>> 
>> 
> 

Reply via email to