Hello,
If so, is there a difference between not registering the GUID and setting the Attribute to Permanent?
"Mark compinents in this feature as "Do not register with Windows Installer" is a feature option, it acts on all components included in the feature. The "Permanent" option could be selected for each of the components contained by a feature.
And I wonder if the "Shared amongst packages" setting of attributes can get the same effect.
This option marks the component as shared among multiple packages. In doing so, if a package containing this component is uninstalled, the highest version of it (installed by other packages) will still be shared by Windows Installer. It suffice to mark the component as shared in one package for it to become shared among multiple packages.
Also, why does not "Shared amongst packages" apply to Components in bulk through Shift + F4?
This is because this option is not generally used for groups of components.
As regarding your general goal, I would recommend creating a prerequisite installation for the compiler. In this way, at the first install the user will be prompted to install the compiler. After the application is uninstalled, the compiler remains installed. If another application install is ran, it will detect that the prerequisite (compiler) is installed and will skip its installation. In this way, both the application installation and the prerequisite installation will be shown in Control Panel, so you will be able to uninstall the compiler later.
In order to achieve this you should follow the steps:
1. Create a new .AIP project for you compiler prerequisite, add the resources necessary and build the project.
2. Create the application .AIP project, add the application resources
3. Go to "Prerequisites" page, right clicking on "Pre-Install" and select "New package prerequisite". Choose the MSI or EXE output from the prerequisite project. The prerequisite install condition will be automatically set. The product version of the prerequisite package will be the criteria.
Hope this helps!
Best regards,
Sorin