1

InstallShield 2009を使用して、継承したコードベースのMSIを生成しています。このコードは、VB6.NET 2.0コード(C#およびC ++)で構成されています。私はWindowsXPSP2を開発してインストールしています。

前のチームから提供されたMSIからリバースエンジニアリングして、 InstallShieldプロジェクト(これを呼び出します)を作成しました。それらの構成は同じになりました。"MyClient.ISM"

次に、 MSIを生成するようにInstallShieldを構成しました。これはエラーなしで構築されました。ただし、MSIを実行しようとすると、2つで失敗します

「エラー1001InstallUtilLib.dll:不明なエラー」

ダイアログを表示し、行った変更を正常にバックアウトします。次にMyClient.MSI、msiexecコマンドを使用して実行しました。例えば

msiexec /lvx C:\inst_server.log /i "C:\MyClient.MSI"

問題は。が原因のよう2769 errorです。これに起因するログファイルのエラーの場所は次のとおりです。

DEBUG: Error 2769: Custom Action _A11801EAD1E34CFF981127F7B95C3BE5.install 
did not close 1 MSIHANDLEs.

このカスタムアクションは、.NETサービスをインストールしようとしていました。そこで、InstallShieldに移動して、すべてのカスタムアクション(インストール、アンインストール、コミット、ロールバック、および関連するSetProperty)を削除し、ビルドして再度インストールしました。これは機能しましたが、サービスはインストールされなくなりました。動作するInstallShieldメソッドを使用してこれらの.NETサービスをインストールする必要があります。

4

2 に答える 2

0

これは古い質問だと思いますが、誰かが助けを必要とする場合に備えて試してみると思います。

私が観察したところ、すべてのエラー 1001 は .NET Framework に関連しています。

まず、msi で setup.exe ブートストラップを作成していることを確認します。これを行うには、InstallShield リリース ウィザードを使用します。アプリケーションが必要とする .NET Framework のバージョンをブートストラップに必ず含めてください。テスト コンピューターに、必要なバージョンの .NET Framework がインストールされていない可能性があります。

あなたが言及したカスタム アクションは、ビルド中に InstallShield によって自動生成されました。コンポーネントのインストーラー クラスのメソッドを呼び出すためのラッパー カスタム アクションを作成しました。あなたの場合、これはコンポーネントのインストーラー クラスの .install メソッドでした。

.NET Framework を正しく展開していることを確認しても問題が解決しない場合は、アセンブリ内のインストーラー クラスをデバッグすることを検討してください。(詳細については、こちらをご覧ください: http://www.hanselman.com/blog/BackToBasicsUsingFusionLogViewerToDebugObscureLoaderErrors.aspx )

于 2009-08-19T23:03:16.110 に答える
0

InstallShield 2009 基本 MSI プロジェクトでもエラー 1001 が発生しました。自動生成された _isconfig.xml を Support Files\Language Independent ノードに追加してみてください。これにより、InstallerClass などの .NET 関連アクションが呼び出されたときに、正しい CLR が確実に起動されます。

私の場合、_isconfig.xml の内容は .NET 2.0 ランタイムを参照していましたが、1.0\1.1 も参照できました。

<?xml version="1.0"?>
<configuration>
    <startup>
        <supportedRuntime version="v2.0.50727"/>
    </startup>
</configuration>

関連項目: Q108690: 情報: Cith Microsoft Visual Studio .NET 2003 または 2005 で作成されたマージ モジュールの使用

于 2009-08-30T13:52:05.727 に答える