Click here to Skip to main content
15,890,609 members
Home / Discussions / System Admin
   

System Admin

 
GeneralRe: How to make a Bootable CD/DVD(set) from a recovery Partition Pin
Thisita13-Jul-08 7:21
Thisita13-Jul-08 7:21 
QuestionPost-installation problem Pin
Big Daddy Farang8-Jul-08 10:33
Big Daddy Farang8-Jul-08 10:33 
GeneralRe: Post-installation problem Pin
User 17164928-Jul-08 11:32
professionalUser 17164928-Jul-08 11:32 
GeneralRe: Post-installation problem Pin
Big Daddy Farang8-Jul-08 11:48
Big Daddy Farang8-Jul-08 11:48 
GeneralRe: Post-installation problem Pin
User 17164928-Jul-08 12:07
professionalUser 17164928-Jul-08 12:07 
GeneralRe: Post-installation problem Pin
Big Daddy Farang9-Jul-08 11:58
Big Daddy Farang9-Jul-08 11:58 
GeneralRe: Post-installation problem Pin
User 17164929-Jul-08 12:49
professionalUser 17164929-Jul-08 12:49 
AnswerRe: Post-installation problem Pin
Mike Dimmick9-Jul-08 6:20
Mike Dimmick9-Jul-08 6:20 
Right, I think your problem here is most likely to be that the file has different GUIDs in the different installers.

Windows Installer tracks 'components', not files. It determines whether a component is installed or not by checking the KeyPath of the component - this is the file, registry key, directory or ODBC data source which it uses to determine whether the component is up to date. Visual Studio generates one component per file or registry key.

You can get into serious trouble if the same file is referenced by more than one component GUID on the machine. For each component installed by a product, Windows Installer remembers the key path that the component was installed to. When the number of references for a component in a given location drops to zero (the actual references are recorded, not the count, so it's more like GC than reference counting), all the resources for that component are removed, even if another component is still referencing the resource.

To avoid this problem, you must either: install the component privately, or if that isn't possible, ensure that the same GUID is used in both products.

I believe the only way to get VS to do this is to build a merge module containing the shared component, and consume that merge module in both installers.

Now for some more fun: although you've told it to self-register at install time, Visual Studio also tries to extract the registry information at install package build time, and uses the extracted data to populate the Class table[^] and the other associate COM tables. This causes Windows Installer to generate special registry entries when installing the class, an extra load of gibberish in a REG_MULTI_SZ value called LocalServer32 in the LocalServer32 key. This data tells Windows to give Windows Installer control when the object is created; Windows Installer checks whether the component is installed and if it needs to be repaired. If so you'll get a repair dialog. If the version numbers are different between client and server, this may happen; if it can't find the original installer, it may prompt for source.

Again, I think this can be reduced by ensuring the GUIDs are the same.

If you don't need to support Windows Installer's enterprise features, it may be easier all around if you use a tool that does not build Windows Installer databases. It's much much harder to make an MSI that works properly when deployed through Group Policy/Active Directory anyway.


DoEvents: Generating unexpected recursion since 1991

GeneralRe: Post-installation problem Pin
Big Daddy Farang9-Jul-08 6:47
Big Daddy Farang9-Jul-08 6:47 
GeneralRe: Post-installation problem Pin
Michael Dunn22-Jul-08 10:53
sitebuilderMichael Dunn22-Jul-08 10:53 
QuestionMSAgent Pin
Srinivas Aditya7-Jul-08 19:25
Srinivas Aditya7-Jul-08 19:25 
QuestionC# Registry path with spaces Pin
Planker3-Jul-08 3:39
Planker3-Jul-08 3:39 
AnswerRe: C# Registry path with spaces Pin
Sebastian Schneider6-Jul-08 22:31
Sebastian Schneider6-Jul-08 22:31 
Questionregsvr32 in Vista Pin
swjam2-Jul-08 1:48
swjam2-Jul-08 1:48 
AnswerRe: regsvr32 in Vista Pin
Luc Pattyn2-Jul-08 3:06
sitebuilderLuc Pattyn2-Jul-08 3:06 
AnswerRe: regsvr32 in Vista Pin
Paul Conrad2-Jul-08 20:26
professionalPaul Conrad2-Jul-08 20:26 
QuestionSuppressing "Interact with desktop" property of service Pin
rana741-Jul-08 0:24
rana741-Jul-08 0:24 
AnswerRe: Suppressing "Interact with desktop" property of service Pin
Mike Dimmick9-Jul-08 6:24
Mike Dimmick9-Jul-08 6:24 
GeneralRe: Suppressing "Interact with desktop" property of service Pin
rana749-Jul-08 15:17
rana749-Jul-08 15:17 
QuestionProblems reading USER.DAT file in the regedit (Win95) Pin
Joan M30-Jun-08 10:13
professionalJoan M30-Jun-08 10:13 
AnswerRe: Problems reading USER.DAT file in the regedit (Win95) Pin
Joan M30-Jun-08 10:40
professionalJoan M30-Jun-08 10:40 
Questionstopping the flash memory Pin
costavo26-Jun-08 23:17
costavo26-Jun-08 23:17 
AnswerRe: stopping the flash memory Pin
Swagata Paul28-Jun-08 1:03
Swagata Paul28-Jun-08 1:03 
AnswerRe: stopping the flash memory Pin
Hesbon Ongira1-Jul-08 0:01
Hesbon Ongira1-Jul-08 0:01 
AnswerRe: stopping the flash memory Pin
cocoonwls6-Jul-08 18:15
cocoonwls6-Jul-08 18:15 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.