Groups | Blog | Home
all groups > dotnet setup > april 2004 >

dotnet setup : Strange Problem With Setup & Deployment Project


djng04 NO[at]SPAM yahoo.com
4/27/2004 4:49:18 AM
Background:

1. Inherited application from developer who unfortunately passed away
and thus is not available to answer questions.
2. Currently the application has been maintained on his development
system; however, that system is due to be reassigned. Therefore the
current task at hand is to get the application built from another
system.
3. Copied entire source tree from original system to new system and
perform build and compare build output - all match - so far so good.

Problem:

The problem arises when the setup project is built. The IDE (VS.NET
2003) reports the same information for the build process from both
machines. However, upon inspection of the resulting .msi file, using
ORCA, I have determined that there are 11 entries missing in the
progid and class tables, 1 row missing from the component table, 1 row
missing from FeatureComponents, 1 row missing from File, 1 row from
MsiAssembly, 4 rows from MsiAssemblyName, and 132 rows from the
Registry table.

How is this possible? I have checked and double checked, copied and
recopied, compared and recompared my source tree and project files to
the originals and all match. I have no visual sign from the IDE that
anything is being done differently; however, the .msi file is not the
same and the app will not run properly once installed.

I look forward to any ideas anyone may have.

Thank you,

Phil Wilson
4/27/2004 12:25:38 PM
It looks to me like you've just lost one file (1 file and 1 component) which
is also an assembly (1 row MsiAssembly, 4 rows of MsiAssemblyName stuff like
version, publickeytoken etc) which is probably a .NET class library that
exports COM interfaces (class, progid, registry). I think it *should* be
pretty straightforward to look at old and new MSIs to identify missing
files. Compare the two file tables.
--
Phil Wilson [MVP Windows Installer]
----
[quoted text, click to view]

djng04 NO[at]SPAM yahoo.com
4/28/2004 4:18:47 AM
I was able to get the missing file back into the .msi; however, the
overall problem still exists. The progid and class files are still 11
entries short. How does it determine what to put into those tables?
If the setup project settings (or for that matter the setup project
file itself) are identical shouldn't an identical .msi file be built?
I'm curious if there are registry entries, or something else, being
read/used that exist on the original system but not on my system.

Thanks,

D James

[quoted text, click to view]
D James
4/28/2004 6:26:10 AM
The solution is already under source control and I have tried pulling from source. It is really weird. I have used a compare tool to verify that all project files match. Perform a build, the build logs match, the reported list of files packed match. Everything seems to match. I do still have access to the machine, but I don't know what else to look for or try

----- a b wrote: ----

If it's not too late, can you use the original machine and add the
solution to a source control system like SourceSafe, then get it from
the other machine? Maybe whatever's missing will get created/retrieved
when you do it through Visual Studio instead of just copying the file
structure

--
Danie

[quoted text, click to view]
a b
4/28/2004 8:52:31 AM
If it's not too late, can you use the original machine and add the
solution to a source control system like SourceSafe, then get it from
the other machine? Maybe whatever's missing will get created/retrieved
when you do it through Visual Studio instead of just copying the file
structure.

--
Daniel

[quoted text, click to view]
Phil Wilson
4/28/2004 12:15:23 PM
If you're using Orca to look in the original MSI file, those original progid
and class entries have a component reference, and that component has a key
file path, a key into the file table. That's how you determine which file
the registry entries might be associated with, so there might be
registration that's not working (an assembly marked as vsdraCOM, for
example). Hopefully you are sure that the original developer didn't add
those entries manually with something like Orca.
--
Phil Wilson [MVP Windows Installer]
----
[quoted text, click to view]

D James
4/29/2004 3:51:04 AM
He definitely didn't use Orca. Regardless, I can rebuild it from his system as many times as I want and it always produces a correct .msi file. Can you give me some insight as to why a registration might fail

----- Phil Wilson wrote: ----

If you're using Orca to look in the original MSI file, those original progi
and class entries have a component reference, and that component has a ke
file path, a key into the file table. That's how you determine which fil
the registry entries might be associated with, so there might b
registration that's not working (an assembly marked as vsdraCOM, fo
example). Hopefully you are sure that the original developer didn't ad
those entries manually with something like Orca
--
Phil Wilson [MVP Windows Installer
---
"D James" <djng04@yahoo.com> wrote in messag
news:c9c795d6.0404280318.1b846957@posting.google.com..
[quoted text, click to view]


Phil Wilson
4/30/2004 1:08:47 PM
If you added the missing file, was it an assembly as I suggested? If so,
what did you set the Register property value to? I'm thinking if you had
add the assembly back into the VS project, you'd need to set some
registration value.
--
Phil Wilson [MVP Windows Installer]
----
[quoted text, click to view]
system as many times as I want and it always produces a correct .msi file.
Can you give me some insight as to why a registration might fail?
[quoted text, click to view]

AddThis Social Bookmark Button