問題タブ [visual-studio-setup-proje]

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.

0 投票する
1 に答える
210 参照

visual-studio - アプリケーションの [プログラムの追加と削除] に複数のエントリがある

Visual Studio 2013 インストーラーを使用してアプリケーションをパッケージ化しています。次に、MSI のコピーを作成し、それを Orca で開き、すべてのダイアログを削除してサイレント パッケージを作成します。したがって、1 つがサイレントで、もう 1 つがそうでないことを除いて、同じはずの 2 つの MSI があります。

非サイレント パッケージを使用して以前のバージョン (同じ方法でビルド) からアップグレードすると、すべてが完全に機能します。

ただし、サイレント パッケージを使用して以前のバージョンからアップグレードすると、[プログラムの追加と削除] に 2 つのエントリが残る以外はすべて機能します。ただし、すべて機能しますが、クライアントにとっては見苦しく見えます。最新バージョンをアンインストールすると、実際には最新バージョンがまだインストールされていますが、[プログラムの追加と削除] には以前のバージョンが [プログラムの追加と削除] に表示されたままです。

私が言うように、non-silent パッケージは完全にうまく機能します。そのため、Visual Studio ですべてを正しくセットアップする必要があり、Orca が意図しないことを行っているに違いないと思います。

どんな助けでも大歓迎です。

0 投票する
3 に答える
543 参照

c# - すべてのユーザーを検出する .msi

Setup & Deployment Project を使用して .msi インストーラーを作成する C# プログラムを Visual Studio で作成しました。「InstallAllUsers」の値は「True」に設定されているため、デフォルトで「Everyone」がインストールされますが、ユーザーはセットアップ中に「Just Me」に変更できます。

これは単なる基本的なインストーラーであり、派手なものではありません。

私の質問は次のとおりです。プログラムをインストールした後、選択したオプションを確認する方法はありますか? インストール中に「Everyone」または「Just Me」のどちらを選択したかを教えてくれる、掘り下げることができるレジストリキーはありますか? プログラムでレジストリ キーを追加しているわけではなく、プログラムの「アンインストール」キーを見つけることができますが、そこに値があるかどうかはわかりません。

* 編集 *

より鮮明な画像を得るには:

プログラムに変更を加えるたびに、バージョン番号を増やし、更新された .msi をユーザーに提供します。ユーザーはインストーラーを再実行するだけです。もともと数人のユーザーしかいないはずだったので、複雑なアップデーターは作成しませんでした。現在、多くのユーザーがおり、アップデーターは開発中です。今のところ、現在のユーザーはこのプロセスに満足しています - 私は彼らに新しい .msi を与え、彼らはそれをもう一度実行します - 1 つのことを除いて: インストーラーは最後にインストーラーを実行したときの設定を「記憶」していません (彼らの私の言葉ではありません)。「アンインストール」レジストリ値から最後のインストールのディレクトリを取得し、それを TARGETDIR で設定できるので、インストール パスがカバーされています。しかし、ユーザーが前回「Everyone」を「Just Me」に変更したかどうかを調べようとしています。

0 投票する
1 に答える
175 参照

c# - アップグレードは、以前のインストーラーの OnCommit カスタム アクションを使用します

新しい MSI を使用してソリューションをバージョン 1 から 2 にアップグレードしているときに、アプリケーションを構成するカスタム アクションの 1 つがバージョン 1 に属する値を使用していることに気付きました (OnCommit アクションで)。

アセンブリ バージョンを出力するメッセージ ボックスとログを追加し、アップグレード中に Windows インストーラーが以前の MSI の dll を使用していることを確認しました。ただし、新しい MSI を手動でインストールすると、正しいカスタム アクションが使用されます。

これを回避する方法はありますか?以前のカスタム アクションを使用する理由について多くの情報が見つかりませんか?

UpgradeCodesは同じですが、RemovePreviousVersions = trueProductCodes異なります。

0 投票する
2 に答える
776 参照

visual-studio-2015 - この DLL が VS 2015 Installer Projects Extension セットアップ プロジェクトで無視されるのはなぜですか?

ファイル システム エディターのアプリケーション フォルダーに追加した DLL を含む VS 2015 インストーラー プロジェクト拡張機能で作成されたセットアップ プロジェクトがあります。「vsdraCOM」に等しい Register を除いて、すべてのプロパティはデフォルトです。DLL は Dropbox に保存されます。セットアップ プロジェクトは、クラス ライブラリ プロジェクトと同じソリューションにあります。セットアップ プロジェクトは、動作する MSI に組み込まれます。

後でセットアップ プロジェクトを再度開くと、DLL アイコンの横に赤い点が表示されることがよくあります。アイコンの上にマウスを置くと、「無視」が生成されます。これは特定のプロジェクトに限ったことではなく、すべてのプロジェクトで発生します。

無視

この問題が発生するかどうかはテストしていません。

  • 複数の DLL を使用する
  • 非 COM DLL を使用する場合
  • Register プロパティに別の値を指定します。
  • セットアップ プロジェクトが別のソリューションで作成されている場合。

問題なく MSI を再ビルドできるので、悪影響はないようです。それにもかかわらず、大規模な検索にもかかわらず、何が原因で、何が影響するのかを特定できません。

0 投票する
2 に答える
2711 参照

c# - .msi 引数を渡してカスタム アクションをインストールする

Visual Studio 2013 に、ソリューション用の .msi インストーラーを作成するセットアップおよび配置プロジェクトがあります。Install Custom Action で起動する C# WinForms アプリもあります。ユーザーがコマンド ラインから .msi を起動する場合、カスタム アクションのインストール中に実行されるアプリにコマンド ライン引数を渡す方法はありますか?

CustomActionData パラメーターを使用して Install Custom Action アプリの引数を指定できることはわかっているので、それを .msi 引数が何であれ動的に設定することはできますか? または、これを行うためのより簡単な/より良い方法はありますか?

どんな助けでも大歓迎です。

0 投票する
0 に答える
102 参照

c# - Excel-VBA ワークブックで参照が見つからない

Visual Studios Setup Project と共にインストールされる Excel-VBA スプレッドシートを持っています...

VBA コードに変更を加え、変更をテストし、新しいスプレッドシートをセットアップ プロジェクトにプラグインし、セットアップ プロジェクトをビルドして Q/A に送信しました。

私は彼女が物をインストールすることさえできなかったという返事を受け取りました...プロジェクトの1つ(BMathと呼ばれる)はVBAスプレッドシートに参照がありません...

「#」の後にパスが分割されているように見えます。

BMath パスがありません:

C:\_Data\B\1.0\20161007_1024\C

作業 BPattern パス:

C:\_Data\B\1.0\20161007_1024\C#\B\Deployment\BPattern.tlb

これは、まったく同じフォルダー内の他の (7) 参照ではなく、BMath でのみ発生するのはなぜですか? (C:\_Data\B\1.0\20161007_1024\C#\B\Deployment\)

入力していただきありがとうございます。

0 投票する
3 に答える
3306 参照

c# - インストール後にファイルを実行するよりもインストーラーを作成する方法は?

私は現在、Visual Studio 2015 で Setup Project を使用しています。特定の必要性の問題を除いて、うまく機能します。インストーラーが終了したら、サーバーをアプリケーションに登録する .js ファイルを実行する必要があります。現在、Setup Project を使用して、.js ファイルをインストール フォルダーの「カスタム アクション」に追加すると、インストーラーを実行すると、セットアップの途中でファイルが実行されます。サーバーはまだ登録する準備ができていないため、これは良くありません。インストール後に実行するには、この .js ファイルが必要です。Setup Project の経験者が私を助けてくれれば、とても感謝しています。しかし、私が求めていることを実行できる、より優れたインストーラー メーカーを誰かが知っていれば、それにも非常に興味があります。多分WIXは私のためにこれを行うことができますか?

0 投票する
1 に答える
74 参照

visual-studio - Visual Studio インストーラーが非バイナリ ファイルを上書きしない

既存のインストール済み製品に対して新規インストールを実行すると、インストーラーは非 EXE および DLL ファイルを上書きしません。EXE と DLL の場合、ファイルを置き換えるかどうかを定義するバージョン番号を設定できます。ただし、これはプレーン テキストを含む構成ファイルでは不可能です。

インストーラーにすべてのファイルを強制的に置き換える方法はありますか?

orに設定DetectNewInstalledVersionしても効果はありません。TrueFalse

RemovePreviousVersions真に設定されています

0 投票する
2 に答える
193 参照

c# - VS 2015 前提条件 dotnetfx パラメーター

小さな C# ツールとそのツール用のインストーラー プロジェクトを作成しました。私のツールは .net Framework 4.6 を使用しています。クライアントはバージョン 3.5 (Windows 7 SP1 32 ビット) を使用しています - すべて正常に動作します。

Setup-Project が前提条件のバージョンを検出し、dotNetFx45_Full_x86_x64.exe のインストールを開始します。

しかし、dotnetfx をインストールした後、セットアップ プロジェクトは再起動を開始しません。dotnetfx のインストール後に Setup.exe を再起動することはできますか?

はい、おそらく次のパラメーターで /norestart /ChainingPackage

しかし、このパラメーターを dotnetfx.exe に渡すにはどうすればよいでしょうか。

現在のセットアップ フォルダー:

または、次の Setup-Folder を使用する必要があります。

ありがとう。