slang
Posts: 3
Joined: Fri Mar 10, 2006 11:51 pm

Registry key problems

I'm using the Registry Value Dialog to create a registry key with two vaues: a REG_SZ and a REG_MULTI_SZ, and am encountering several problems.

1) There is no way of explicitly specifying REG_SZ vs REG_MULTI_SZ. The type appears to be implicitly specified thru the use of multi-line values. i.e., a value without a cr produces a REG_SZ type and a value with a cr produces a REG_MULTI_SZ.

Explicit specification of REG_SZ and REG_MULTI_SZ types would be a lot easier to understand. e.g., a null REG_MULTI_SZ is valid but you have to trick AI into supporting it by specifying a cr when you really want a null value.

AI displays the type as REG_SZ when a multi-line value is specified. Also, the type that actually gets generated in the registry is inconsistent. Sometimes I get a REG_SZ when it should be a REG_MULTI_SZ and vice-versa.

2) The registry key associated with an optional feature (install level 4) always gets deleted on an uninstall even though the "Delete (if present) at uninstall." checkbox is not checked in the Edit Registry Key dialog.
Mike
Posts: 292
Joined: Wed Jun 01, 2005 10:50 am
Location: Craiova, Romania
Contact: Website

Hi,

1. Advanced Installer follows the way Windows Installer specifies the distinction between the REG_SZ and REG_MULTI_SZ types. This approach is very flexible. Did you had a requirement that you tried to achieve and failed because of this method?

While it is true that the type displayed in AI is REG_SZ, you can see the multiple data strings for REG_MULTI_SZ. However, we will put this on the list in order to improve it.

We weren't able to reproduce the inconsistence you are talking about. Could you please send us a sample AIP file that shows this error? Please send it to support at advancedinstaller dot com.

2. The MSI package will delete on uninstall the registry values that it has created at install time. The registry keys will be deleted also, unless they contain additional key. The option you have talking about ensures, when checked, that the keys get deleted regardless of the fact they are still containing some values.

To keep a registry key you have to modify the component in which one of it's values resides. You should check it's permanent attribute.

Regards,
Mihai
Mihai Bobaru
Advanced Installer Team
http://www.advancedinstaller.com

Return to “Common Problems”