0

私が必要とするのは、ユーザーがインストール パスだけでなく、プログラムの構成ファイルを配置するパスも選択できるようにすることです。

現時点では、実際のプログラムと同じソリューションにセットアップ プロジェクトがあります (プログラムは Outlook 2010 アドインですが、それは問題ではないと思います)。クラス ライブラリを使用してカスタム アクションを操作しようとしましたが、うまくいかないようです。カスタム アクションのインストーラー クラスとしてさまざまなプロジェクト タイプを使用しようとしましたが、どれも機能しませんでした。FolderBrowserDialog私は、ユーザーが選択したフォルダを開き、テキストボックスに入れるボタンが付いた Windows フォームを持っています。しかし、フォームを実行しようとするとfolderBrowserDialog.ShowDialog()、フォームが完全にフリーズします。FolderBrowserDialogまったく表示されません。

どんな助けでも大歓迎です:)

挨拶する

4

1 に答える 1

-1

「どんな助けでも」とあなたが言ったので、感謝します:

恐ろしいツールを使用しています。Microsoft はそれを VS2012 から削除し、「問題なく機能した」ため、ユーザーの声で 5,000 以上の投票がありました。率直に言って、これは Windows Installer についてほとんど何も知らない 5,000 人の開発者を表しています。

このツールは、非常に多くの Windows インストーラー テクノロジを抽象化して封印するため、他の多くの機能に加えて、インストール ユーザー インターフェイス シーケンスを必要な方法でカスタマイズする機能を公開できません。

したがって、UI が表示されないはずの InstallExecuteSequence で UI を表示するには、代わりに InstallUtil カスタム アクションを使用する必要があります。これは、Windows インストーラー設計のいくつかのテナントに違反しており、これがあなたが話しているアプリケーションであった場合、おそらくそれを行うことを考えたことはありません.

正しく実行したい場合、選択肢は 2 つだけです。Postbuild は MSI を操作して、Setup と Deployment ができないものを挿入するか (C# は CLS がサポートしているものをサポートしていないため、ビルドされた DLL で IL を操作するなど)、Windows Installer XML や InstallShield Professional などのツールに切り替えて、最初の場所。

5000 人の開発者の何割かから反対票を投じられることは確かですが、気にしません。私は 17 年間インストーラーを開発してきました。私はインストーラー関連のタグのトップ貢献者であり、私が話すことは単なる意見ではないことを知っています。

于 2013-10-02T11:56:32.647 に答える