0

C#を使用してWindowsアプリケーションを開発しています。ブランド名に基づいてGUI(背景画像やその他のコントロール画像やテキスト)を変更したいと思います。

アプリケーションの一般的なインストーラーは、という名前になりbrandname_programname.msiます。MSIからブランド名を取得し、それに基づいてGUIを割り当てる必要があります。MSIの異なるブランド名以外の違いを示すために、他のオブジェクトや設定を渡していないことに注意してください。どうすればこの結果を達成できますか?

WPFソリューションは必要ありません。

4

1 に答える 1

4

あなたの説明から、すべてのインストールでブランド画像とテキストのコレクション全体を送信していると思います。次に、GUI要素をフィルタリングするmsiファイルの名前を変更します。

管理者がmsiファイルの名前を変更しないことに完全に依存しているため、これは非常に不安定な解決策だと思います。たとえば、管理者が名前を「CompanyA_programname.msi」から「programname.msi」に変更すると、決定が正当化されます。 「ファイル名に私たちの名前を含めることには意味がありません。私たちにはこれしかありません。」

さらに、多くの顧客は自社のブランド要素を競合他社と共有することを望んでいません。そのため、すべてのブランド画像をmsiに含めると、顧客の合意と矛盾する可能性があります。

私の意見では、別の方法で問題に取り組む必要があります。ブランドごとに個別のmsiファイルを作成するか、単一のタイプのmsiを作成して、インストール環境にGUI要素をフォルダーまたはzipファイルとして提供するように強制します。次に、これらの要素を使用して、会社に関係なくGUIにデータを入力します。

確かに、フォルダ/ zipのアプローチは依然として不安定であり、そのようなファイルがない場合はケースを処理する必要がありますが、それでも単一障害点はありません。

以前の経験に基づいて、ブランドごとに個別のmsiファイルを作成することを強くお勧めします。このようにして、誤用によって引き起こされる失敗のリスク、または悪意のある行動のリスクを最小限に抑えることができます。

于 2010-08-18T11:14:14.717 に答える