.NET Framework - How to exclude component from self-repair?
Asked By Vadim Rapp
28-Feb-08 05:38 PM
Hello,
One of the registry values installed by the installation is supposed to be
deleted by the application on the first launch.
How to prevent Installer from trying to repair the product when it's started
next time from advertised shortcut? it sees that the registry value is not
there, and repairs.
thanks,
Vadim Rapp
Windows Installer
(1)
ComponentId
(1)
Dimmick
(1)
Mike
(1)
Shortcuts
(1)
Registry
(1)
Repairs
(1)
Paths
(1)
Anthony [MVP] replied...
It repairs based on key files. Perhaps the registry key is also a key file.
You can make something else in that component a key file and it should not
repair,
Anthony,
http://www.airdesk.co.uk
mik replied...

You can't. An advertised shortcut causes Windows Installer to check that the feature pointed to by the shortcut is suitably installed, and to do that it checks the feature's components, and the components of all parent features. If any of the key paths are missing or out of date, it will invoke the repair to fix them.
So, your options are:
* Don't do this (recommended)
* Move the registry value into a different component, not the key path
* Make the component part of a different feature
* Stop using advertised shortcuts
If you have data that needs to be modified by the application after install, I would strongly recommend making the application write it on first run. Only write registry values in the installer which are necessary for the application's first run.
--
Mike Dimmick
---Original Message---
One of the registry values installed by the installation is supposed to be
deleted by the application on the first launch.
How to prevent Installer from trying to repair the product when it's started
next time from advertised shortcut? it sees that the registry value is not
there, and repairs.
Phil Wilson replied...
If you want to exclude a specific component from repair use a null entry in
the ComponentId as described here:
http://msdn2.microsoft.com/en-us/library/aa368007.aspx
--
Phil Wilson
[MVP Windows Installer]

How do I prevent a Setup installer from restoring some files. .NET Framework Hi, I'm unable to create a Visual Studio start deleting the support files, the application when started the following time will call the installer and force the files to be restored. I don't want these deleted files to Properties for the file, "Vital". Thanks, -Peter Visual Studio Development Discussions Visual Studio 2005 (1) Windows Installer (1) ComponentId (1) Orca (1) DISABLEADVTSHORTCUTS (1) C4C6454C1B3F (1) Shortcuts (1) Aa368007 (1) I apologize for this null: http: / / msdn.microsoft.com / en-us / library / aa368007(VS.85).aspx in the section ComponentId, but Visual Studio setups son't expose this, so you'd need to update the it from Add / Remove Programs) will do the repair anyway. - - Phil Wilson Definitive Guide to Windows Installer http: / / www.apress.com / book / view / 1590592972 keywords: How, do, I, prevent, a, Setup, installer
MSDN documentation for Windows Installer - bad form .NET Framework I have a pet peeve to gripe about . . . yeah, sorry a only make a logical assumption that what they are talking about is actually labled the 'ComponentID' column in the Components table. However, I need to find documentation concerning this. So I this mysterious column is a GUID. That lends itself to my theory that Component Code = = ComponentID, but still it is only a theory. Finally I went back to check the definition microsoft.com / en-us / library / aa368007(VS.85).aspx Yes, they list the Column as ComponentID. Then ONCE in that section do they refer to the ComponentID as the Component Code, and even then it is not an explicit declaration. For someone that at least once on every page where you use the alternate term. - - Regards, Dan Windows MSI Discussions Windows Installer (1) ComponentID (1) Database (1) InstallShield (1) E0D3B4104DEB (1) Aa367850 (1) Aa368007 (1) Passage
trying to change files (rename or overwrite) that were installed with a VS 2005 generated installer. Is there a way to specify -in a VS installer project- that some files are overwritable and others not? If not. . . how to workaround this trouble? Thanks in advance. Néstor Sánchez A. Visual Studio General Discussions Windows Installer (1) Visual Studio (1) Vista (1) ComponentId (1) Orca (1) Overwritable (1) Guid (1) This isn't specifically Vista, it's a feature of MSI-based setups that Windows has built-in checking that the installed product isn't damaged, and that means it for individual files is to go into the MSI file (with Orca) and clear the ComponentId guid: http: / / msdn2.microsoft.com / en-us / library / aa368007.aspx - - Phil Wilson [MVP Windows Installer] keywords: Modification, of, files, post, installation description: Hi, some time ago I had trouble
which includes the new ATL MSM): MSI (s) (FC:D4) [16:38:02:640]: SELMGR: ComponentId '{9B2CAF3C-B0AB-11EC-B01F-C8B3B9A1E18E}' is registered to feature 'Document_Server', but is not present in installsite as well in effort to help others who might have similar issues. Cheers, Rob Windows MSI Discussions Windows Installer (1) ComponentId (1) C8B3B9A1E18E (1) Partnership (1) Installsite (1) Installers (1) I do not have copies of state. On my VS 2005 system that guid is a registry key, HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ SideBySide \ Installations \ x86_Microsoft.VC80.ATL_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_cbb27474 \ downlevel_payload.8.0.50727.762 seems to have been introduced in VS 2005 SP1. - - Phil Wilson The Definitive Guide to Windows Installer http: / / www.apress.com / book / view / 1590592972 Hi Phil, you are right about the component