Jump to content
Macro Express Forums

Quick Registry Question


Recommended Posts

What hive does ME look in for email address, user name and SMTP server. I thought it was local_machine but I just did a run only install where there is no interface for options and it appears it my be looking in Current_User or someplace else for the SMTP server.


Maybe someone could give me a general overview of where ME looks for settings when. Also how a new user gets defined would be nice to know too.

Link to comment
Share on other sites

The Macro Express preferences are by default stored in:

HKEY_LOCAL_MACHINE\SOFTWARE\Insight Software Solutions\Macro Express

However, if the logged on user does not have 'write' privledges to the HKLM area of the registry or if the 'All users use the same settings' option found in Options, Preferences, Miscellaneous is unchecked, then the preferences are stored in:

HKEY_CURRENT_USER\SOFTWARE\Insight Software Solutions\Macro Express

There is a macro command that returns the registry key that Macro Express is currently using for the preferences. Try the Variable Set From Misc / Set Variable %T1% to "Preferences Registry Key" command.

Link to comment
Share on other sites

You have impeccable timing my friend and your answer is just what I needed. Thanks! Now I just got to figure how this affects my macros...


Oh, one more thing though. When I create a new user on the machine where does it get it's default registry settings? I think I remember Joe mentioning in his book in the setup section that there was a config file somewhere for the defaults.

Link to comment
Share on other sites

OK, i'm being lazy here.... I don't know exactly how the registry loads current user settings but is there a way to edit the registry settign of a user who isn't currently logged in?

Link to comment
Share on other sites

I'm sorry, I should explain myself better. I'm trying to figure out how and where one can remotely edit the registry of a machine with no editor. When I remote to it I see no current user but rather an HKEY_Users followed by what looks like the GUID.

Link to comment
Share on other sites

Where's the registry value for the option to enable user individual settings anyway? I've looked and can't seem to find it.


Am I doing this the wrong way? It seems a pain to have to use regedit to change options in ME if it's a 'no editor' installation. Is there an easier way. I was just trying this 'no editor' option out for a later rollout but if it's going to be this much of a pain maybe I should consider setting up security in the macros instead.

Link to comment
Share on other sites

... how and where one can remotely edit the registry of a machine with no editor.

If Macro Express will be using the HKLM area of the registry for that user then yes, you can edit the preferences for that user. However, if the user is not an administrator (or in some cases a Power User) then no, you cannot edit that part of the registry.


The HKEY_CURRENT_USER portion of the registry is contained in a separate file. A separate and unique file is loaded for each user that logs in. To my knowledge, this prevents an administrator making changes to the HKCU portion of the registry for a specific user.


When I create a new user on the machine where does it get it's default registry settings?

The default registry settings are built into Macro Express itself. When it tries to read a setting from the registry Macro Express will provide a default value if it doesn't exist. However, there is a way to get around this:

  • Log on to a test machine as an administrator
  • Install Macro Express on the test machine
  • Click Options and then Preferences
  • Change the preferences the way you want them (do not click the OK button yet)
  • Toggle 'All users use the same settings' found under Options, Preferences, Miscellaneous.
  • Click the Apply button
  • Toggle 'All users use the same settings' again, returning it to its original value
  • Click the OK button
  • Click Tools and then Export Program Configuration
  • Save the Program Configuration into a file named defprefs.mcf
  • Put a copy of the file defprefs.mcf into the folder where the Macro Express program files are installed

The first time a new user loads Macro Express they will be using the preferences defined in the defprefs.mcf file. This only works the first time. During subsequent uses Macro Express will find the preferences in the registry and use them.


You may also change the shortcut that loads Macro Express to include the /IC<filepath> option. This will tell Macro Express to use the settings contained in the file specified by the /IC command. To use this technique you need to export the program configuration into a file similar to the steps listed above. The trick, however, is keeping Macro Express from overwriting the shortcut you create to load it. If Macro Express overwrites the shortcut it will remove the /IC command line parameter. Macro Express will overwrite the shortcut if the Run on Windows' Startup preference is set and any of the preferences are changed.

Link to comment
Share on other sites

I had read something about those config files in Joe's book but your explanation is better. Thanks. For now since the network install is a pilot program and I only anticipate one macro using person to ever log into one machine I think I'll leave it set to the "All users use same settings"


Now here's a problem I'm having. I used your variable trick and it's confirmed the machine is using HKLM as the hive for preferences. I have a little routine that checks the email settings and prompts the user if they are correct and if not gives them an opportunity to change them from the macro. Now early on the macro was complaining that the SMTP server wasn't valid which started me on this quest. I found a mistake in my email setting macro that wasn't relevant and after that I didn’t see the SMTP server error again.


But now it’s doing something really strange. It tells me that it can not relay for “cory@bbluepointdesign.com”. This is my personal email address and the one I had defined when I created the macro and is the one on my machine currently. However the domain is different for this company so the server is correct in not allowing relay. But the HKLM registry settings have the user as autumn@companyname.com. So why is it trying to use my email address as the reply to? I checked the entire registry and my email address does not exist in that machine’s registry anywhere. So how the hell is it getting my email address? I’m totally baffled.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...