Tuesday, June 21, 2011

Making Automate 4.5 work under Win 7 x64 with Altium Designer 6

As I think I posted earlier, my favorite application in the universe - Automate 4.5 - failed to operate properly on my new Win7 x64 machine.

The problem was mostly that Automate was unable to send keystrokes to some applications.  Most notably, Altium Designer, which is my electronic CAD tool of choice.

I spend hours on Altium daily.  For anyone unfamiliar with professional CAD software, "professional" does not always mean "efficient".  While keyboard support is second to none in Altium, Altium has scores of features locked away behind clumsy UI.  If you use it a lot, it eats time.

Every PCB layout professional I know has invested in an X-keys, Logitech gamepad, or other such programmable device to help automate the repetitive tasks - I've just gone one better and used macros too.

Over the years I have built up an impressive array of Automate macros for Altium, as well as Excel, Word, and several others.  Automate fills in the gap by killing adware windows and unfixable prompts, automating repetitive data formatting in Excel, expanding text in Word, filling in save directories in Irfanview, and much more.

But I found out quickly, and to my dismay, that Automate macros failed with Altium.  It could trigger, and focus the windows, but keystrokes simply went nowhere.

Automate acted as though nothing was wrong, and Altium acted as though nothing was going on.  Not terribly helpful.

An upgrade to Automate 6 did not fix the problem, and I couldn't find anything meaningful on the Automate forums.  So I went looking for another solution, and happened across Macro Recorder 12.  And gee - same problem!  Damn!

However, MS12 had something that Automate did not - a solution posted in the forum.

Seems that there is a rights feature under Win7 that may prevent any program from interacting with any other program.  This includes Automate and Macro Scheduler.

The key to recognizing this occurs when running the target program.  Every time I run Altium, Win7 asks me if it is OK to let Altium make changes to my PC.  As no changes were evident, I chalked this up to typical Altium weirdness and ignored it.

Well, it turns out that prompt is the sign of a program that is running under Administrator privileges.  If a program asks to change on every invocation, it's running as Admin, and if a program is running as Admin, "regular" non-admin-rights user-run programs simply can't talk to it. 

And that was the problem.  Re-running Automate 4.5 as administrator put both programs back on a level playing field and re-enabled correct functionality on all of my Altium macros.  In fact, I didn't have to make any changes at all!

So I spent all this time looking for a new program when, in fact, I was running afoul of a new "feature" in Win7.  Thank you, Marcus Tettmar!

I have no doubt that this fix will work on Automate 6, Macro Scheduler 12, or other programs that need to interact with other programs.

Given this, I really should buy Macro Scheduler 12, just to say thank you to Marcus, but I will stick with Automate 4.5.  It works, it's fast, I'm used to it, and it works.  And despite being 'old' it still does things that other programs do not do.

However, Macro Scheduler12 does support the biggie feature - triggering on a window appearing.  With Automate 8 costing nearly $2,000, Macro Scheduler 12 is a hell of a lot more reasonable.  I've never used it, so try the 30-day trial first to see if it's for you.

No comments:

Post a Comment