問題タブ [web-setup-project]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
installation - Web Setup プロジェクトで InstallAllUsers プロパティを無効にする
VS バージョン 2010
Windows クライアント VS セットアップ プロジェクトには、 InstallAllUsersというプロパティがあります。VS Web セットアップ プロジェクトにこのプロパティがないのはなぜですか?
visual-studio-2010 - VS2010 Web セットアップ プロジェクトが「web.config」ファイルを置き換えない
MVC3 Web アプリケーションに VS2010 Web セットアップ プロジェクトを使用しています。インストールで問題なく動作しています。しかし、アップグレードのために MVC3 webapplication バイナリと Web セットアップ プロジェクトのバージョンを (古いバージョンの既存のインストールから) 更新すると、宛先ディレクトリの web.config ファイルは置き換えられません。他のすべてのファイルとディレクトリは置き換えられて更新されますが、「web.config」ファイルのみが Web セットアップによって置き換えられません。
Webアプリケーションで何かを更新するたびに、WebセットアッププロジェクトとMVC3アプリケーションのバージョンを変更しています。
「ProductCode」と「UpgradeCode」も変更してみましたが、それでもweb.configファイルは同じです(最初のバージョンの)
Webセットアッププロジェクトの次のプロパティを設定します
- DetectNewerInstalledVersion - True
- 以前のバージョンを削除 - True
- RestartWWWService - true
既存の web.config ファイルを手動で削除/削除してから新しいバージョンをインストールすると、新しい更新された web.config ファイルが配置されます。この問題は、既存の web.config ファイルが宛先ディレクトリにある場合にのみ発生します。
カスタムアクションの「OnBeforeInstall」を試して、既存のweb.configファイルを削除または名前変更して、新しいwe.configがインストール時にコピーされるようにしました。しかし、カスタムアクションメソッドが実行される前に、すべてのファイルがコピーされることがわかりました。
これを解決するのを手伝ってください。または、クライアントに Web セットアップ プロジェクトを提供する別の方法を提案してください。
前もって感謝します!
編集: Web Setup プロジェクトのバージョンを変更すると、productcode は自動的に変更されますが、upgradecode は同じままであることがわかりました。
asp.net - ASP.NET MVC プロジェクトの一部のコンテンツ ファイルを含まない Web セットアップ プロジェクト
ASP.NET アプリケーションの WEB SETUP を作成しています。以下は、コンテンツ フォルダーのフォルダー構造です。
WEB SETUP プロジェクトを追加し、「Web からのプライマリ出力」と「Web からのコンテンツ ファイル」を含めました。
しかし、「Web からのコンテンツ ファイル」を右クリックして「出力」オプションを選択すると、次のように表示されます。
.svg フォントのみが追加され、残りの 4 つのファイル (.eot、.ttf、.woff、および .otf) は追加されません。インストーラーを実行しても、セットアップが完了した後でも、これらの 4 つのファイルが Content/font-awesome/font フォルダーに表示されません。
これらをインストーラーにも追加するにはどうすればよいですか?
application-pool - 「Web セットアップ プロジェクト」(Visual Studio) は「アプリケーション プール」の選択肢を制限できますか?
「Web セットアップ プロジェクト」(Visual Studio) は「アプリケーション プール」の選択肢を制限できますか?
プロジェクトを .NET 2+ から .NET 4+ に移行しています。(VS 2010) プロジェクト タイプ「セットアップと展開、Visual Studio インストーラー」を使用します。[インストール アドレスの選択] フォームの [アプリケーション プール] には、使用可能なすべての IIS アプリケーション プールのドロップダウンが表示されます。
私のアプリケーションは .NET 2 または .NET 4 で実行できたので、これは以前は問題ありませんでした。しかし、現在は .NET 4 用にコンパイルしているため、.NET 4 アプリケーション プールにエンド ユーザーがインストールする必要があります。インストーラーがこれを検出し、.NET 4+ プールのみを提供することを期待していましたが、そうではありません (ところで、「ASPNETVersion」プロパティ設定はこれを変更しません)。デフォルトではありません。選択肢は、.NET のバージョンを示すものではありません。私のエンドユーザーは、これらすべてを理解していません。
標準のダイアログを削除したくありません --- 私が望む唯一の変更は、アプリケーション プールに提供されるものです。また、インストーラー開発プロジェクトの種類を変更したくありません。
実行時の選択に影響を与える場所はありますか (フレームワークのバージョンごとに変更する必要があります。エンドユーザー プールの名前がわかりません)。エンドユーザーにとって非常に明白な要件であるため、他の誰もこれを尋ねていないようであることに驚いています。
.net - .NET Web セットアップ プロジェクトでアプリケーション プールを非表示にして他のプールを表示する方法は?
Web セットアップ プロジェクトを作成しました。Web サイト、仮想ディレクトリ、およびアプリケーション プールを選択するためのウィンドウがポップアップ表示されます。では、アプリケーション プールを非表示にして他のプールを表示する方法を誰か教えてもらえますか? これを行う理由は、既に専用アプリケーション プールを作成しており、この Web サービスを専用アプリケーション プールに向けているからです。
c# - Web セットアップ プロジェクトを変更して、新しい Web サイト、アプリケーション プール、および仮想ディレクトリを作成するにはどうすればよいですか?
私はここ数日、これについてかなり多くのことを読んできました.Webセットアッププロジェクトを作成し、カスタムアクションなどでそれを変更する方法に関する多くの情報があるようです.私はこれまでのところ持っています.これについては、次のリンクを使用してください。
http://weblogs.asp.net/scottgu/tip-trick-creating-packaged-asp-net-setup-programs-with-vs-2005 http://msdn.microsoft.com/en-us/library/ms525598 .aspx http://www.dreamincode.net/forums/topic/231074-setup-and-deployment-in-visual-studio-2010/ http://www.codeproject.com/Articles/146626/Extending-Visual- Studio-セットアップ-プロジェクト
ただし、 [インストール アドレス] アクション ([開始] の下) で提供されるドロップダウン リストから選択するのではなく、ユーザーが新しいサイトを作成できるように、ユーザー インターフェイスを具体的に変更する方法についてはあまりないようです。それに加えて、新しいアプリケーション プールを作成する方法のコードに出くわしましたが、UI が最初にリストから 1 を選択するオプションをユーザーに与えるのを止める方法はありません。
現時点では、インストーラーは次のようになっています。
ご覧のとおり、ユーザーには現在 3 つのフィールドがあります。サイト、仮想ディレクトリ、およびアプリケーション プール。サイトとアプリケーション プールは、既存のオプションを含むリストです。サイト ドロップダウン リストの場合、実際にはこれをテキスト ボックスにして、ユーザーが作成したい Web サイトの名前を入力できるようにしたいと考えています。アプリケーション プールの場合、カスタム アクションがアプリケーション プールを自動的に作成し、それに仮想ディレクトリを割り当てるため、これを完全に消したいと思います (うまくいけば)。
アプリ プール、仮想ディレクトリを作成し、それをアプリ プールに割り当てるためのコード (まだテストされていません) は既にありますが、必要に応じて UI を編集する方法がわかりません。「インストール アドレス」ステップを削除して、独自のカスタム ステップを作成する必要がありますか?
アプリ プールの作成、仮想ディレクトリの作成、およびアプリ プールへの仮想ディレクトリの割り当てのための以下のコード:
c# - Web セットアップ プロジェクトを使用して、既定のサイトではなく IIS で新しい Web サイトを作成するにはどうすればよいですか?
Web セットアップ プロジェクトやカスタム アクションなどの使用方法に関する記事をたくさん読みましたが、「既定のサイト」の下にない IIS で新しい Web サイトを作成する方法を説明しているようには見えません。
私は現在、記事の1つから適応された次のコーディングを持っています:
次のメソッドは、Install メソッド中に呼び出されます。
これにより、Web サイトが作成されるように見えますが、「既定のサイト」の下にあります。「MetaBasePath」は、Web サイトが現在存在するかどうかを確認する別の方法でも使用されるため、正しく定義されていると確信しています。このメソッドは、「MetaBasePath」の子を調べて、それぞれのプロパティをチェックします。このコードを実行したところ、表示されるはずの Web サイトが引き戻されたので、そのパスから正しい情報を取得していることがわかります。
私は何が欠けていますか?
アップデート
名前ではなくサイト ID を使用すると、「既定のサイト」以外に新しいサイトを作成できるようです。
c# - インストーラーに検証を一時停止/許可させるにはどうすればよいですか?
現在、IIS で新しい Web サイトを作成し、アプリケーション プールを作成してから、このプールを Web サイトに割り当てるインストーラーを作成しています。これを行うカスタム アクションを作成しましたが、これは正常に機能します。
現在、ユーザー入力 (サイト名、ターゲット ディレクトリ、ポート番号など) にいくつかのチェックを構築しようとしています。これは私が立ち往生しているところです。ポート番号が「有効」でない場合、つまり 65535 より大きい場合、0 より小さい場合、null または空白である場合、または現在別のサイトで使用されている場合に、ユーザーにメッセージ ボックスを表示しようとしています。これは OnBeforeInstall メソッドで行われます。
ユーザーがメッセージを受け取って「OK」をクリックした時点で、インストーラーを停止し、ユーザーが別のポート番号を入力できるようにします。明確にするために、インストーラーをロールバックまたは終了させたくありません。ユーザーが新しいポート番号を入力できるようにしてから、「次へ」をクリックしてみてください。Web サイトが既に存在するかどうかを確認するなど、OnBeforeInstall メソッドで他のチェックも実行します。ユーザーからの基本的な入力が検証されるまで、これらのチェックを実行したくありません。
これまでの私のコードは次のとおりです。
どんな助けでも大歓迎です。