1

現在、Visual Studio を使用して msi と setup.exe を作成しています。それは非常にうまく機能します...最近まで。
最近、コンボ ボックス コントロールを含む新しいダイアログ ボックスを msi に追加しました。msi を使用してアプリを直接インストールすると、すべて正常に動作します。
しかし、Setup.exe を実行すると、ComboBox が正しく表示されません。ドロップダウン リストには、一度に 1 つの要素のみが表示されます。すべての要素はまだそこにあり、上/下キーまたは文字 (たとえば、SQL Server の場合は「S」) を使用してそれらを選択することもできます。

誰もこの種の問題を見たことがありますか? さらに、InstallShield を使用してセットアップを作成すると、InstallShield によって作成された exe が再び正常に実行されます。

したがって、Visual Studio で修正する必要があると思います。ビジュアルスタジオのブートストラッパーを修正する方法はありますか?

プラットホーム:

ビルドには Visual Studio 2005 を使用します。

OS: Windows XP SP3。

ビルド マシンには Windows Installer 4.5 がインストールされていますが、前提条件ではありません。msi 自体は Windows Installer 3 で問題なく動作します。

また、問題は、セットアップの終了が速すぎることでも、適切にインストールされないことでもありません。問題はありません。唯一の問題は、コンボ ボックスが正しく表示されず、一部のユーザーが混乱する可能性があることです。

4

3 に答える 3

1

VSブートストラッパーがそのように動作している理由を正確に知ることはできませんでしたが、別のプロジェクト(VSを使用してビルドされていない)から別のSetup.exeを取得すると問題が解決しました。

[Setup.exeには、開始するはずのMSIへの何らかの識別情報またはリンクがあるという印象を受けました。どうやらそうではありません。他のsetup.exeを投入するだけでうまくいきました。]

これが誰かを助けることを願っています。

于 2009-03-12T15:22:23.700 に答える
1

使用している Visual Studio のバージョンは何ですか? VS2008 SP1 を使用していますか?

SP1 で導入されたこのバージョンの Visual Studio のブートストラップには、既知の問題があります。多分あなたは同じ問題に直面していますか?この問題の詳細は、Microsoft の接続サイトで確認できます。

https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=369138

ここでも議論が行われています: http://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/3731985c-d9cc-4403-ab7d-992a0971f686/

EDIT:実際には、SP1で修正されたものでも問題を解決できます。SP1 での違いは、ブートストラップが実際の MSI インストーラーを起動する方法です。SP1 より前は、MSI インストール (つまり msiexec) はブートストラップ (つまり setup.exe) の子プロセスとして開始されていました。これは非子プロセスとして開始され、ブートストラップ プロセスが終了して MSI が起動されるとすぐに setup.exe が戻ります。また、以前はセットアップ ウィザードのボタンが Windows XP / Vista のテーマ スタイルを使用していなかったため、違いがわかります。

于 2009-02-09T23:04:12.773 に答える
0

.MSI 自体では、コンボ ボックス コントロールの高さの設定は何ですか? height プロパティは、選択領域とドロップ領域を合わせた高さを制御します。設定が低すぎると、説明している問題の動作が発生します (ただし、正しいように見える場合がある理由は説明されません)。

于 2009-02-14T03:53:25.577 に答える