Installshield から使用している C# dll を使用して、Oracle のパスをパス環境システム変数に追加し、インスタント クライアントにより Oracle データベースに接続できるようにしています。
初めてインストーラーを実行すると、成功しませんが、パス変数を変更します。パスは最初の実行から既に変更されているため、2 回目の試行で成功します。つまり、Oracle データベース プロバイダーは、コードで変更した直後に変更を表示しないということです。
インストールを再度試行する必要なく、パス変数への変更を検出する方法が必要です。
var ancientPath = Environment.GetEnvironmentVariable("path", EnvironmentVariableTarget.Machine);
Environment.SetEnvironmentVariable("path", ancientPath + ";" + tmp, EnvironmentVariableTarget.Machine);