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サービスをインストールする必要があります。