問題タブ [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.

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

visual-studio-2008 - VS2008 セットアップ プロジェクト - 修復オプションなし

ユーザーが msi を再度実行すると、修復/削除オプションを要求することなく自動的にアンインストールされるように、修復オプションを無効にする方法はありますか?

編集: これは管理された企業環境用であり、要件として受け継がれています。

0 投票する
10 に答える
102156 参照

c# - C#でWindowsサービスをプログラムでインストールする方法は?

私のVSソリューションには3つのプロジェクトがあります。1 つは Web アプリ、2 つ目は Windows サービス、最後の 1 つは Web アプリのセットアップ プロジェクトです。

私が望むのは、セットアップ プロジェクトでの Web アプリのインストールの終わりまでに、カスタム アクション内で、それまでにアセンブリの場所がわかっていることを前提として、Windows サービスをインストールしようとすることです。

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

.net - 参照されたプロジェクトコンテンツファイルをインストールしないプロジェクトのセットアップ

クラスライブラリプロジェクトBに依存するWindowsサービスプロジェクトAがあります。プロジェクトBのXMLファイルはContent、として設定されていますCopy if newer。プロジェクトAのbin\Debugフォルダーに、これらのコンテンツファイルが正常にコピーされます。

編集(より多くの失敗):

正常にPrimary outputインストールされます。Content Filesをインストールできません。

編集(勝利):

私はそれをすべて間違っていました、私はPrimary OutputプロジェクトAから持っていて、それがサービスexeであるため、それをインストールするためのカスタムアクションを追加しました。Content filesプロジェクトBからは、セットアッププロジェクトに含める必要があります...カスタムアクションとして「インストール」する必要はありません。

0 投票する
4 に答える
6877 参照

c# - インストール時にアプリケーション設定を設定するにはどうすればよいですか (インストーラー クラスを使用)

インストーラー クラスを持つ Visual Studio セットアップ プロジェクトがあります。インストーラー クラスでは、次のように設定します。

問題は、このコードが実行されていることを知っていても (私は他のことをしています)、設定が決して設定されないことです!!

メッセージ ボックスは値が設定されていることを示していますが、.configファイルに移動しても値はまだ空白です。

誰にも理由や考えられる回避策がありますか?

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

visual-studio - .msi のインストール中の余分なスペース

カスタムメイドの .msi に余分なスペースがあります。インストールするデータは約 600MB あり、インストーラーは 1.4 GB が必要だと言っています。別の場所に切り替えると、あらかじめ決められた場所 (たとえば、C:\Program Files\My_App から F:\My_App) は、常に約 800 MB 必要であることを示しています。私の場合は余分なスペースです。なぜこれが起こっているのかについて何か考えはありますか?

また、これにより 64 ビット OS でインストール エラーが発生する可能性はありますか? 私は 32 ビット OS にのみインストールしましたが、すべて問題ありませんが、同僚の 1 人が上記のタイプにインストールする際に問題が発生しています。

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

windows-installer - Visual Studio セットアップ exe バージョンがプロパティ バージョンと異なる

Visual Studio セットアップ プロジェクトを作成し、バージョンを 1.1.5 に設定しました。セットアップ プロジェクトをビルドすると、setup.exe ファイルのバージョンは 9.0.21022.8 になります。セットアップ プロジェクトから 1.1.5 ファイル バージョンを取得するにはどうすればよいですか?

0 投票する
4 に答える
5339 参照

vba - COMに公開された.NETプロジェクトをVB6(またはVBA)参照ダイアログに追加するにはどうすればよいですか?

PhilWilsonによる例外的な記事BuildandDeploy .NET COM Assemblyに従って、COMに公開される.NETアセンブリを作成しました。

また、.NETアセンブリがCOMに適切に登録されており、コンパイルされたCOMコードで問題なく呼び出すことができるという意味で、すべてが正常に機能します。

唯一の奇妙なことは、VB 6.0またはVBAを使用するときにCOMに公開された.NETアセンブリに対して開発するには、プログラマーが関連する.tlbファイルの正確なファイルの場所を「参照」する必要があります。その後はすべて正常に機能します。つまり、クラスライブラリは[参照]ダイアログボックスに直接表示されないため、ファイルの場所を参照する必要があります。

繰り返しますが、COM相互運用機能の側面は100%機能します。ただし、VB6.0およびVBAの[参照]ダイアログ内でライブラリを直接表示できる設定が必要だと思います。

この設定がどうなるか誰か知っていますか?それとも、登録するだけで自動的に発生するのでしょうか?

アドバイスをよろしくお願いします...

マイク

編集/更新

/ codebaseスイッチを使用しているかどうかに関するjpohの質問に答えるために、RegAsmを明示的に使用するのではなく、.msiセットアップパッケージを使用しています。アセンブリは正しく登録されています。これは、HKCR \ CLSID {myGUID} \ InprocServer32内で、「CodeBase」キーがアセンブリへのフルパスを正しく保持していることからわかります。コンパイルされたCOMコンポーネントは、このdllに対して問題なく実行されます。参照ダイアログボックスに表示されないのは、VB6.0またはVBAを使用して開発した場合のみです。したがって、正しいファイルの場所に「参照」する必要があります。その後、100%正常に動作します。

アップデート#2

さらに調査したところ、クラスGUIDは正しく登録されていますが、私の.tlbファイルは登録されていないようです。なぜだかわかりません。.tlbファイルを登録すると、クラスの基になっているインターフェイスのレジストリエントリがHKCR \ Interface {myInterfaceGUID}に配置されますが、これは発生しません。不思議なことに、この登録の欠如は、VB6およびVBAの参照ダイアログ内での検出可能性を除いて、dllの機能に影響を与えていないようです。

セットアッププロジェクト内の.tlbファイルのプロパティは正しいようです。「PackageAs」プロパティは「vsdpaDefault」に設定され、「Register」プロパティは「vsdrfCOM」に設定されています。なぜこれがターゲットマシンに正常にインストールされないのか、私は戸惑っています。

アップデート#3

「ビルドが成功しました」と報告されているにもかかわらず、セットアッププロジェクトが正常にビルドされていないことがわかりました。

実際には、「ファイル名'DotNetLibrary3.tlb'の登録情報を作成できません」というビルド警告(驚くべきことに、エラーではなく警告)が報告されています。これは警告であり、エラーではないため、コンパイルは「ビルドが成功しました」と表示し、エラーリストは開きませんでした。

これを追跡すると、ここで説明するように、Vistaが開発マシンであるときにセットアッププロジェクトを作成しようとすると、これが問題になる可能性があります。

VS2008セットアッププロジェクトでのCOMtypelib登録の問題

ここで説明されているやや手動の修正があります:

フィードバック:「filename」という名前のファイルの登録情報を作成できません

私はまだ修正を試していませんが、明日、これで解決した場合は報告します。

アップデート#4

それはあまりうまくいきませんでした...その記事で提案されているようにRegCap.exeを実行すると、Vistaで実行すると機能しないようです。RegCapは、実際には.msiの作成時にセットアッププロジェクト自体によって内部的に実行されるため、これはそれほど驚くべきことではありません。つまり、セットアッププロジェクトは、呼び出していたRegCapコマンドが失敗したため、ほぼ確実に失敗していました...したがって、RegCapを直接呼び出すことは役に立ちません。

肝心なのは、これはVistaでセットアップパッケージを作成しようとしたときの単なるバグであるということです。または、おそらくVisual Studio 2008とVistaの組み合わせかどうかはわかりませんが、同じ正確なアプローチを試みることは、WindowsXPで実行されているVisualStudio 2005でセットアッププロジェクトを作成することであり、まったく問題はありませんでした。

VistaやVisualStudio2008でこれを正しく実行するための修正があるかもしれませんが、追跡できませんでした。私にとってはるかに効率的なのは、WindowsXPでVisualStudio 2005を使用してビルドし、COM登録要件を生成してから、それらをVisualStudio2008セットアッププロジェクトにインポートすることでした。これらは、dllに対して/ regfileスイッチを使用し、.tlbファイルに対してRegCap(W'XPで実行!)を使用して、regasmを介して.REGファイルとしてエクスポートできます。私のCOMインターフェースは変更されないので、これを行う必要があるのは1回だけです。

うまくいけば、Vistaで実行しているときのVisual Studio 2008のこの問題は、ある時点で修正されるでしょうが、そうでない場合は、この投稿が同じ状況で自分自身を見つけた他の誰かにとって価値があることを願っています...

関連項目:

VB.NETで記述されたCOMServerforExcelをインストールしてAutomationServersリストに登録するにはどうすればよいですか?

-マイク

0 投票する
10 に答える
9499 参照

visual-studio-2008 - フォルダーのすべてのファイルを含む Visual Studio セットアップ プロジェクト

現在、さまざまなビジュアル スタジオ プロジェクトからのプロジェクト出力を追加するセットアップ プロジェクトがあります。パッケージング システムを変更し、セットアップで展開用に準備された一連の展開ファイルを含むフォルダーを使用したいと考えています。
ただし、これは、ファイルを 1 つずつ追加する必要があり、新しいファイルがある場合は各バージョンに追加し続ける必要があることを意味します。
この質問で、*.aspx のようなルールでファイルを追加できないことがわかりました。
そこで、利用可能なファイルに基づいて vdproj ファイルを変更する小さなツールを作成することを検討しています。このファイルのフォーマットについて教えてください。含まれている各ファイルに関連付けられたいくつかの GUID があるようです。
これを行う方法について、より良い解決策を持っている人はいますか?
別のセットアップ ツールを使用することはまだ考えていません。ファイルのパッケージ化のための簡単なソリューションを探しているだけです。

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

installation - VS 2003セットアッププロジェクトでのセットアップ中に%allusersprofile%の下にフォルダーを作成するにはどうすればよいですか?

インストールプロセス中に「%allusersprofile%/ProgramData」の下にフォルダを作成する必要があります。

セットアップファイルはVS2003セットアッププロジェクトで作成され、その中でいくつかの既知のフォルダーを使用できます...しかし、私が見る限り、%allusersprofile%または "%allusersprofile%/ProgramData"にマップするものはありません。

「カスタムフォルダー」(VSセットアッププロジェクト内)を作成し、TargetLocationを%allusersprofile%として設定すると機能すると思いましたが、インストール中に、そのフォルダーへのアクセス許可がないと表示されます(実際にアクセスできます)。

VSセットアッププロジェクトでそのフォルダをターゲットにする方法を知っていますか?

また...私はWindowsXPで作業しているので、%allusersprofile%は「C:\ DocumentsandSettings \ AllUsers」にマップされますが、「ProgramData」フォルダー内にフォルダーを作成する必要があると思います。

Vistaでは、%allusersprofile%は "C:\ ProgramData"にマップされ、そこに直接フォルダーを作成すると正しく表示されます。

両方のOSをターゲットにする方法はありますか?

追加情報: 少なくとも一般ユーザーとして実行している場合、アプリがProgram Filesフォルダーの下にファイルを書き込めない、Vistaの新しいセキュリティ機能を回避するためにこれを試みています。したがって、書き込み可能なファイルは、「ユーザーごと」ではない「共通」フォルダーに配置する必要があります。