Columbus
Columbus copied to clipboard
Running from Script instead from EXE
I just cloned Columbus from github to a local folder on drive D:
Running columbus.ahk from my folder D:\Columbus, I noticed a few problems:
- Plugin folder cannot be found. Instead of looking in existing local folder D:\Columbus\plugins, the script searches for the plugins under _c:\Program Files (x86)\Columbus\Plugins_ ,which does not exist ... Creating this folder manually and copying the plugin-Scripts into this location, Columbus is able to find the plugins. The plugins should be found in the current folder - and not on a fixed system path.
- Same for the configuration file: Columbus.xml is also stored under c:\Program Files (x86)\Columbus\Plugins\Columbus.xml. The configuration file also should be stored next to the *.ahk file and not on a fixed system path!
- Starting columbus from D:\Columbus (after copying the plugins to _c:\Program Files (x86)\Columbus\Plugins_ ) an error message within Plugin LoopFolder.ahk occurs:
---------------------------
LoopFolder.ahk
---------------------------
Error: 0x800401F3 - Ungültige Klassenzeichenfolge
---------------------------
Line#
---> 004: x := ComObjActive("Columbus")
005: xml := x.get("xml")
006: items := x.get("Items")
008: FileSelectFolder,folder,C:\
010: if !folder
011: ExitApp
013: list := []
015: Loop,Files,folder "\*.exe",R
LoopFolder dirtectory selection box pops up after this error - and works as expected (executables can by added from selection box). Closing the selection box, a debug window pops up:
---------------------------
Debug_Window.ahk
---------------------------
Columbus is not running!
---------------------------
OK
---------------------------
Columbus is running anyway ...
The main reason I have it save its files to the program files is because most people don't take the precaution to create a folder for the program before launching it. I have got several people requesting a "portable" mode so the chance of something like it getting implemented is big.
Considering the fact that the folder is not being created, try running Columbus as admin. Should work, and if it doesn't please get back to me.
Considering the plugin errors I would assume you're running on Windows 10. I have had several people having problems with w10 and connecting to Columbus via plugins. Try replacing x:=ComObjActive("Columbus") with x:=ComObjActive("{436cf066-cf70-4ca9-990f-c7083fea8367}"). Make sure both the plugin and Columbus are running as admin of course.
Concerning OS: I'm running not Win10 but Win7 X64 Enterprise SP1 with latest AHK (1.22.07 - 32bit - Unicode). Nevertheless your suggestion with run as admin solved the "Not running" problem. Changing to x:=ComObjActive("{436cf066-cf70-4ca9-990f-c7083fea8367}") within LoopFolders.ahk does not change the behaviour
Concerning storing files in program files: I think it's generally a bad idea to search for the plugins outside the folder where columbus.ahk resides. This makes the git-cloned repository unuseable: when I pull a new version of columbus from github, I have to copy the possibly new plugin-files manually into the Program-Files folder to get the benefit of any changes in the plugins ... This is very error prune, since you easily forget this ...
Beside this: I personally am short on space on my Drive C:-SSD - therefore I prefer to control, which files are stored within my Program-Files folder ...
Glad hearing that running as admin solved the problem, is it safe to assume running the plugins themselves work correctly now?
The reasons your experience with plugins are so clumsy atm is because I haven't made a proper "plugin downloader/updater" yet. The idea is to have default plugins downloadable from a gui inside the program, and be updated, very similar to how maestrith's AHK Studio plugin system works now. Essentially the "Folder" button in the Settings gui will because "Manage" and a gui will allow you to properly manage your plugins.
Also, the problem with the program folder not being created should be fixed. Please update Columbus :)