This article discusses the differences between public and private properties.
This article discusses the differences between public and private Windows Installer MSI properties.
Public properties are accessible throughout the Setup (command line), Dialog Editor, custom actions, InstallScript, etc., while private properties are only accessible within the interface. Public properties are defined in all capital letters in the Property Manager, while private properties can be either case.
If you are using a property to conditionally install a component or feature or you are trying to access it via MsiSetProperty or MsiGetProperty, you may want to declare this property as a public property.
There are many public properties, such as ALLUSERS, REINSTALL, and REMOVE, which are predefined Windows Installer properties that you can use within your project and call via command-line arguments.
Public properties can be accessed and modified by the end user running your setup, via command line, or transforms.