問題タブ [custom-action]
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.
c# - カスタム アクションで setup.exe の場所を取得する
C# 2005
xml 構成ファイルを読み取るカスタム アクションが必要なため、インストーラー クラスを使用しています。
そのため、ユーザーがセットアップをダブルクリックすると、同じフォルダーに config.xml ファイルが作成されます。インストール イベントでこの config.xml ファイルを読みたいと思います。このフォルダーには、setup.exe と config.xml が含まれます。
ただし、C:\windows\system32 の下で探しているため、config.xml ファイルが見つかりません。applicationstartup.pathを使用してこれを見つけました。ただし、setup と config.xml を含む setup フォルダーはデスクトップにあります。
現在の場所で探すと思っていました。どちらがセットアップフォルダーになります。
問題は、私のセットアップ フォルダーがインターネットからダウンロードされ、すべてのユーザーがそれをダウンロードして自分のコンピューターの任意の場所に解凍できることです。
on install イベントのコード スニペットを次に示します。
アドバイスをありがとう
wix - msiexec プロパティを WiX C# カスタム アクションに渡すにはどうすればよいですか?
Wxs 3.0 で作成された MSI ファイルがあります。私の MSI は、新しいC# カスタム アクション プロジェクトを使用して記述された C# カスタム アクションを参照します。
カスタムアクションにルーティングされる引数を msiexec に渡したい - 例:
msiexec /i MyApp.msi ENVIRONMENT=TEST#
私の .wxs ファイルでは、次のようにカスタム アクションを参照します。
私のC#カスタムアクションは次のように設定されています:
次のようにプロパティにアクセスできることを期待していました。
string environmentName = session.Property["ENVIRONMENT"];
しかし、これはうまくいかないようです。
カスタム アクションで msiexec に渡したプロパティにアクセスするにはどうすればよいですか?
c++ - msiインストーラーのカスタムアクションdll-sは、Visual Studioでのみ作成する必要がありますか?
VisualStudioでセットアッププロジェクトを作成しました。また、いくつかのカスタムアクションが必要です-Visual c ++でDLLを作成し、それは問題なく動作しますが、プロジェクトにVisualC++ランタイムファイルを含めたくありません。それで、他のc ++コンパイラでこのdllをビルドすることは可能ですか?
Dev-c ++で作成しようとしましたが、コンパイル時にmsi.hファイルとmsiquery.hファイルから数百のコンパイルエラーが発生します。
windows - Windowsインストーラコミットでバッチファイルを実行する
プライマリ出力がインストールされた後、バッチファイルを実行するようにWindowsインストーラーMSIを変更することに成功していません。私はこれを検索し、多くの提案を見つけましたが、うまくいくものは何もありません。
- カスタムアクションを追加する
- カスタムアクションは実行可能ファイルのみです。バッチファイルは実行可能ではありません。
- バッチファイルを実行するWindowsScriptingHost実行可能ファイルを作成します
- SOを含め、多くの人がこれを試みましたが、誰もこれを機能させることができませんでした。
- WIXまたはInstallShieldを使用する
- 会社のインストーラーテクノロジを変更する時間や権限がありません。
- Orcaを使用して.msiを編集し、カスタムプロパティを追加してから、カスタムアクションを追加してから、InstallExecuteSequenceを編集します。
- 私はこれを何時間も試してきましたが、実行時にシステムエラーをスローするインストーラーのみを作成しました。
wix - Wix:CustomActionの後にプロパティを設定するにはどうすればよいですか?CustomActionが必要ですか?
Wixセットアップでプラグインをインストールしたい。コンピューターには、より多くのバージョンのアプリケーションがインストールされている可能性があるため、ユーザーはどちらのバージョンを使用するかを決定する必要があります。アプリケーションは、次のようにレジストリに書き込まれます。
HKLM \ Software \ Company \ Application \Version...。
これは、キーHKLM \ Software \ Company \ Applicationに直接の値がなく、RegistryKey.GetSubKeyNamesを使用してC#で何が行われるかを子に要求する必要があることを意味します。
質問1:
CustomActionなしでこれらのサブキー名を読み取る方法はありますか?
私はその可能性を見つけられなかったので、カスタムアクションでそれを行いました。
質問2:
しかし、CustomActionで見つかった結果をwxsのプロパティとして設定するにはどうすればよいですか?出来ますか?
あなたが私を助けることができれば、私はとても幸せになるでしょう...
さようなら、Ivo
installation - .NET カスタム アクションを実行する前に GAC のインストールを強制しますか?
VS 2008 セットアップおよび展開プロジェクトを使用して、管理対象/管理対象外の混合アプリケーションを展開しています。組み込みの登録プロパティ (「vsdraCOM」は「Register」プロパティの列挙値) を使用して混合モード DLL を登録する際に問題がありました。回避策として、.NET カスタム インストール アセンブリを追加しました (クラスはSystem.Configuration.Install.Installer から派生します。) そのクラスが実行されており、多数のアセンブリの Dll(Un)RegisterServer エントリ ポイントの実行を含む、多数の操作がそのアセンブリ内のコードを介して正常にインストールおよびアンインストールされていることは確かです。 .
ただし、1 つの DLL が正常に登録されていません。これは、GAC にインストールするサードパーティ製の再頒布可能アセンブリに依存する唯一の DLL です。VS 2008 のセットアップおよび展開プロジェクトの組み込みサポートのおかげで、これらのアセンブリを GAC にインストールしましたが、それが機能していることはわかっています。インストーラーが GAC インストールを実行する前に、カスタム アクションが実行されていることを確認しました。
うわー。私の質問は、カスタム アクションを実行する前に、インストーラーに GAC インストールを強制的に実行させる方法はありますか? これを行うためにカスタム アクションの「条件」プロパティを使用する方法はありますか? そうでない場合、私の最良の代替手段は何ですか? DLL からレジストリ エントリを取得し、インストーラのレジストリ設定に追加します (将来誰かがクラスに新しい COM サーバーを追加する可能性があるため、これは望ましくありません)。.NET コードを使用してアセンブリを GAC に手動でインストールします (その方法はまだわかりません)。
ありがとう、
デイブ
visual-studio - VS2008 セットアップ プロジェクトでカスタム アクション スクリプトから値を返す方法
セットアップ プロジェクトを作成していて、カスタム アクションとして VBScript ファイルを実行する必要がありますが、スクリプトからインストールに値を返す方法がわかりません。インストールを続行するか失敗するかをスクリプトで決定したいので、これを行う必要があります。
前もって感謝します。