J
Jiho Han
We have an Excel 2003 VSTO project that builds on a build server. We were
referencing the interops directly from a local folder (copied out from GAC I
think).
We found out that then some of our installations were failing because of a
type mismatch error when passing, for example, Workbook to VBA code. It only
fails for some, not all. We looked and searched on Google, and figured it's
because we were not building against the PIA in the GAC but rather against
the interop dlls.
We found the redistributable form of PIA and thought perfect for our build
server install, only to find out that the redist of PIA will not install
without Excel on the server. Installing some dlls is one thing but having to
install Office on the server is pretty big.
So, the question is what is the purpose of having a redistributable PIA if
it requires office anyway. If you have to install Office, you don't need the
redist because in Office setup, you can as easily enable ".NET
Programmability".
It turns out that the failing installations failed not because of the PIA
referencing issue but somehow a broken installation of PIA. One machine had
the redist installed but did not work. So I removed it and installed the PIA
via Office setup and everything worked.
So how critial is it that the build go against the PIA in the GAC, and not
against the generated interop (copied from the GAC)? Apparently, it all
works?
referencing the interops directly from a local folder (copied out from GAC I
think).
We found out that then some of our installations were failing because of a
type mismatch error when passing, for example, Workbook to VBA code. It only
fails for some, not all. We looked and searched on Google, and figured it's
because we were not building against the PIA in the GAC but rather against
the interop dlls.
We found the redistributable form of PIA and thought perfect for our build
server install, only to find out that the redist of PIA will not install
without Excel on the server. Installing some dlls is one thing but having to
install Office on the server is pretty big.
So, the question is what is the purpose of having a redistributable PIA if
it requires office anyway. If you have to install Office, you don't need the
redist because in Office setup, you can as easily enable ".NET
Programmability".
It turns out that the failing installations failed not because of the PIA
referencing issue but somehow a broken installation of PIA. One machine had
the redist installed but did not work. So I removed it and installed the PIA
via Office setup and everything worked.
So how critial is it that the build go against the PIA in the GAC, and not
against the generated interop (copied from the GAC)? Apparently, it all
works?