Hi Doug,
I don't think the library look up protocol has changed, at least not exactly. You now need to include the [PlatformLibrary Name Mappings] section in an Ini file (see VAST ini file) of the same name as you image and in the same folder as the image (you may be able to put it elsewhere but this is easiest).
I put all the VA Smalltalk DLLs (and some others) is a folder like:
c:\Program Files\Common Files\Keystone Software Corp\binV8.6\
For NT services I put a renamed copy (same as program) of abtntsrv.exe in the binVn.n folder. That gives it access to the DLLs. The image lives in its own folder.
For GUI programs I keep the exe, image and ini files in their own folder and point the the DLLs with a registry entry with the path to the bin folder. Like so:
[HKEY_LOCAL_MACHINE][HKEY_LOCAL_MACHINE\SOFTWARE][HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows][HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion][HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\MyProg.Exe]
"Path"="***Path to Bin***\binV8.6"
I hope this helps.
Lou
Here's my guess, please correct me: Anytime a program by the name specified runs, supply the given path parameter to the exe as if it were the first/last entry on the PATH environment variable.
So, the presence of HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\MyProg.Exe key would prepend/append the provided path= anytime MyProg.Exe runs?
Hi Doug,
Question: I'm guessing that, in the ini file, I can provide a path for these dll's, yes? Sounds like that would not be necessary if the registry entry does what I hope.
Here's my guess, please correct me: Anytime a program by the name specified runs, supply the given path parameter to the exe as if it were the first/last entry on the PATH environment variable.
So, the presence of HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\MyProg.Exe key would prepend/append the provided path= anytime MyProg.Exe runs?
--
You received this message because you are subscribed to a topic in the Google Groups "VA Smalltalk" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/va-smalltalk/tCLPtRGrEco/unsubscribe.
To unsubscribe from this group and all its topics, send an email to va-smalltalk...@googlegroups.com.
To post to this group, send email to va-sma...@googlegroups.com.
Visit this group at http://groups.google.com/group/va-smalltalk.
For more options, visit https://groups.google.com/d/optout.
Wonderful, thanks Lou, very much appreciated.
On Mon, Apr 21, 2014 at 11:06 AM, Louis LaBrunda <L...@keystone-software.com> wrote:
Hi Doug,
Question: I'm guessing that, in the ini file, I can provide a path for these dll's, yes? Sounds like that would not be necessary if the registry entry does what I hope.
I think that could be possible but DLL's are a little different from the things like NLS files. Programs normally don't give the path to a DLL, windows searches for them. See more below.
Question: I don't really understand the registry entry example you provided.Here's my guess, please correct me: Anytime a program by the name specified runs, supply the given path parameter to the exe as if it were the first/last entry on the PATH environment variable.So, the presence of HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\MyProg.Exe key would prepend/append the provided path= anytime MyProg.Exe runs?This is about right but the program really doesn't get the path and doesn't do the search for the DLL. The program asks (the OS) to access a DLL (makes a call to a function in the DLL) windows searches the various paths it has available starting with the one in the registry to link to the DLL. Install programs like InstallShield will setup the registry entry for you.Question: Could you not also use this registry trick for the *ntsrv.exe (your services)?I don't think so but now that you ask, I can't remember why. It may have something to do with services running without anyone being logged on or something.Am I close?Very.Lou
--
You received this message because you are subscribed to a topic in the Google Groups "VA Smalltalk" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/va-smalltalk/tCLPtRGrEco/unsubscribe.
To unsubscribe from this group and all its topics, send an email to va-smalltalk+unsubscribe@googlegroups.com.
To unsubscribe from this group and all its topics, send an email to va-smalltalk...@googlegroups.com.