1

次の問題がありますMSIInstallProduct 。.msi ファイルのインストールに使用するアプリケーションを C# で作成しました。次の署名を使用します。

[DllImport("msi.dll", CharSet = CharSet.Auto, SetLastError = true)]    
public static extern UInt32 MsiInstallProduct(string packagePath, string commandLine);

これを x86 Windows で実行すると、すべて正常に動作します。しかし、x64 Windows で実行すると、次のエラー メッセージが表示されます。

System.AccessViolationException: 保護されたメモリを読み書きしようとしました。これは多くの場合、他のメモリが破損していることを示しています。

これは主に、MSI アクションInstallFilesまたはWritingRegistryKeys

誰かがそれを修正する方法を知っていますか?

4

0 に答える 0