2011-07-26 13 views
1

と互換性のないグラフィックス、私はそれのためにC#Windowsフォームアプリケーション、および配置プロジェクトを書きました。デプロイメントプロジェクトにはカスタムアクションがあります。C#インストーラのカスタムアクション - Windows 7の

私は、Windows XPマシン上でアプリケーションを書きました。私がWindows 7マシンでテストしたところ、UIの主要部分が「ブラックアウト」していたことに気付きました。私は、これが実行されたオペレーティングシステムに関係なく、アプリケーションを「クラシックUIモードを強制する」ようにコーディングすることでこれを修正できることを発見しました。メインフォームの問題を解決し

static void Main() 
{  
    //Application.EnableVisualStyles(); 
    Application.SetCompatibleTextRenderingDefault(false); 
    Application.Run(new MainForm()); 
} 

を次のように私は、既存のProgram.csにメインの内容を()することによって読まをこれをしませんでした。 (。また、コードのその部分に無同様の修正をWindows 7上で正しく表示される展開プロジェクト)

は、1つの例外があります:私は、フォームを表示するインストーラのカスタムアクションを記述しなければなりませんでした。 (元のインストーラと同じように、ユーザーは「次へ」と対話し、「次へ」をクリックします)。

私の問題は、メインプロジェクトまたはProgram.csがデプロイメントプロジェクトまたはカスタムアクション同じプロジェクトで別のクラスとして作成します)。その結果、完全に互換性のある表示モードでレンダリングするカスタムアクションを「指示する」行をどこに配置するのかわかりません。アプリケーションの名前空間(使用する必要があるメソッドを含む)は、私のカスタムアクションではまったく使用できません。

私は、任意のポインタをいただければと思います - 私はそれが簡単に修正だと確信していますが、私はそれを見つけることができません!

おかげで、あなたはあなたのカスタムアクションがMicrosoft.Windows.Common-コントロールバージョン6.0を使用していることを確認する必要があり RS

答えて

関連する問題