Archive: nsDialogs, auto-complete and combo boxes


nsDialogs, auto-complete and combo boxes
I'm digging into the new nsDialogs that I was initially reluctant to convert my installs to. Using the welcome.nsi example from nsDialogs as my starting point, I'm "converting" that directory line into one that also lists my company's installs for patching. We support multiple named copies of our program on a system, and also have web components that may or may not be present on the system. So I have it creating a drop-down list of install paths that are present, but doing so kills the auto-complete functionality and possibly the file presence functionality, since that also stopped working. I need the ability for manual entry to support the different web parts. Unfortunately, those paths are not stored reliably in the registry to support populating the same list. Can those features be combined in this manner?


I don't understand what is it exactly that you're trying to do. Are you trying to add auto-complete feature that'd have only a set of paths you choose?


Yes, sorry, I guess I was a little confusing. In the welcome.nsi example, I like the auto-complete feature as you enter a local path/folder. But when I modified that line to be a combo box, where I populated current install paths, it lost that ability. It's certainly not earth-shattering, but was a feature I was trying to keep. I wanted it to have the features of a combo box because the install could alternately be used to patch a local web server where I wouldn't necessarily know the path to the files. That's where it needs to allow a path other than the drop-down's.

Having said that, after first posting this, I started trying to figure out how to query the MSI information to append the web component paths to the others and just have a regular drop-down list. I'm trying to do a System::Call to MSI::MsiGetProductInfo to get started and I must be boogering up the syntax. Anyone had success doing that?

Even Microsoft is inconsistent with using MSI's fully. There is an InstallLocation under the various GUID's in the registry that are just plain empty. I'm guessing it's not a required property like some of the others are.


SHAutoComplete only works for text boxes.