3

誰かが実際にo2003.msiの前提条件を作成することに成功しましたか?

これについて質問する人はたくさんいますが、実際に成功した人は誰もいません。私はあなたが酸味が供給されるかもしれないしされないかもしれない.cpp-ファイルを完成することを要求されるいくつかの非常に複雑な解決策を見つけます。それらの1つに準拠しようとしましたが、ターゲットマシンで構成エラーが発生しました... :-(

o2003.msiをインストールしないと、office.dllが見つからないため、Officeの「共有アドイン」で例外がスローされます。ですから、インストーラーに含めてもらいたいと思います。

そして、前の質問の結果に関係なく、2番目の質問:Office2007を搭載したマシンはどうですか?02203.msiは、Office 2003がインストールされていないと文句を言っているので、「OfficeSharedAdd-In」の動作するインストーラーを作成するためにやらなければならないことがたくさんあるようです...悪夢?

更新:これは、Office.Core / "office.dll"のPIAのようです。これは、tragetマシンに実際に使用するものです。「複雑な」ソリューション(少し努力すれば動作するようになることはわかっています)では、この特定のファイルを検出する方法については説明していません。WordとExcelのPIAだけで、次にいくつかの解決策について説明しています。これらはとにかく適切な場所にあるようです。それが正しくインストールされていない場合、o2003pia.msiをチェックしてインストールするための重要なファイルであるのはoffice.dllです!

4

3 に答える 3

2

これはおそらく遅すぎますが、少しのC#コードを使用して当社のOffice2003および2007アドインをインストールするために私が行った解決策を次に示します。多分それはあなたのために働くかもしれません。

私はo2003piaとo2007piaの両方のインストールに製品コードを使用しています。

2003:{91490409-6000-11D3-8CFE-0150048383C9}

2007:{50120000-1105-0000-0000-0000000FF1CE}

次に、MSI APIを呼び出すことで、それぞれのインストール状態を取得できます。2003を見つける例を次に示します。

[DllImport("msi.dll")]
    private static extern MsiInstallState MsiQueryProductState
        (string productGuid);
    [DllImport("msi.dll")]
    private static extern uint MsiGetProductInfo
        (string productGuid, string propertyName, StringBuilder valueBuffer, ref Int32 bufferSize);

    bool IsPia2003Installed()
    {
        MsiInstallState state = MsiQueryProductState("{91490409-6000-11D3-8CFE-0150048383C9}");

        return (state == MsiInstallState.msiInstallStateDefault);
    }

これらすべてをセットアッププロジェクト内で完全に実行しようとしている場合(Visual Studioを使用していると思いますか?)、上記のProductCodesをチェックする「Windowsインストーラー検索」起動条件を追加できます。満足している場合は、PIAをインストールするカスタムアクションを実行できます。

このソリューションの詳細については、ここから始めることをお勧めします

于 2009-04-02T16:28:55.637 に答える
1

理由はわかりませんが、O2003PIA.MSI と O2007PIA.MSI を調べたところ、次の製品コードが得られました。

O2003PIAProductCode = "{90409419-0006-3D11-C8EF-10054038389C}"

O2007PIAProductCode = "{00002105-5011-0000-0000-000000F01FEC}"

于 2009-06-02T00:57:48.763 に答える
0

答えはありませんか?まあ、それはそれほど重要ではありません-02003pia.msio2007pia.msiはどちらも文句を言わずに複数回インストールできるので、すでにインストールされているかどうかを確認することはそれほど重要ではありません。

于 2009-03-31T15:10:26.767 に答える