Capturing a non-MSI setup and using Wise (Symantec) SetupCapture and Windows Installer Editor 8, the snapshot brings back loads of files and registry entries, and I'm not sure what to delete, largely due to the fact that I don't know anything about .NET apps and the GAC.

In the files section, Wise shows a special Global Assembly Cache directly under Destination Computer with a bunch of files in it. This is good. But then it also captured the same files in subfolders of C:\WINDOWS\ASSEMBLY\GAC, along with a file __AssemblyInfo__.ini. (Q1) So, should I remove the files in C:\WINDOWS\ASSEMBLY\GAC from the MSI? (Q2) Why are they in both places in the MSI when the actual destination on the computer is the same?

In the registry section, it has a lot of entries in HKLM\Software\Microsoft\.NETFramework and HKLM\Software\Microsoft\Fusion. (Q3) If I remove these, will the MSI install the .NET components correctly? (Q4) If I don't remove them, is there a chance that it will mess up an existing GAC? Some of the entries that particularly bother me are below

[HKLM\Software\Microsoft\Fusion\NativeImagesIndex\v2.0.50727_32\IL\11e3e749\69872e66\c8\InvertDependencies]
"290c8a21\5810d7d5\e0"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion\NativeImagesIndex\v2.0.50727_32\index11e]
"ILUsageMask"=hex:FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,\
FF,FF,FF,FF,FD,89,A2,F1

"NIUsageMask"=hex:FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FF,FB,FF,\
49,FF,FF,FF,FF,81,7E,FF

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion\NativeImagesIndex\v2.0.50727_32\NI\181938c6\7950e2c5\1\InvertDependencies]

"290c8a21\\5810d7d5\\e0"=""

"5e2c2b74\\2529ad28\\da"=""

"6f6fa89a\\435924f\\dc"=""

The above is just a small sample of the many discrete registry entries.

(Q5) Are there any components to .NET other than files and registry entries, like some sort of database similiar to the registry?

 

0 Comments   [ + ] Show Comments

Comments

Please log in to comment

Community Chosen Answer

1

the best place for your question is perhaps in this document.

http://www2.wise.com/filelib/DotNet.pdf

Answered 04/16/2012 by: dinozilla
Orange Senior Belt

Please log in to comment

Answers

0

Check the components. The right registries should be associated with the corresponding components.

Answered 04/16/2012 by: piyushnasa
Red Belt

Please log in to comment
0

In WPS you can have the necessary assemblies generated for the .DLL files by right-clicking them, going to details and filling out the necessary details in the Assembly tab. This will fill out the MSIAssembly and MSIAssemblyName tables.

Answered 04/16/2012 by: pjgeutjens
Red Belt

Please log in to comment
0

Another option would be to run regasm.exe for each of the dlls, using a custom action in your msi.

Answered 04/16/2012 by: pjgeutjens
Red Belt

Please log in to comment
Answer this question or Comment on this question for clarity

Share