問題タブ [merge-module]

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 に答える
259 参照

visual-studio-2010 - VisualStudio2010セットアッププロジェクトの64ビットマシンの場合のマージモジュールの追加

Visual Studio 2010C++ランタイム再頒布可能パッケージに依存する32ビットアプリケーションがあります。

ただし、アプリケーションの一部では、dllインジェクションを実行する必要があります。理由で、私は今は本当に入りたくありません(ただ私の言葉を信じてください)。インジェクションコードとdllは、OSが64ビットの場合は64ビット、OSが64ビットの場合は32ビットである必要があります。

問題は、OSが64ビットの場合、コードが64ビット用に再配布可能なVisual Studio 2010C++ランタイムに依存していることです。32ビットシステムには32ビットVisualStudio2010 C ++ランタイム再頒布可能パッケージのみをインストールし、64ビットマシンには32ビットVisual Studio 2010C++ランタイム再頒布可能パッケージと64ビットVisualStudio2010C++ランタイム再頒布可能パッケージの両方をインストールしたいと思います。どうすればこれを達成できますか?

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

wix - WiX MSIは、CRTMSMを削除する前後で動作が異なります。

WiXで構築されたMSIを持っています。次のカスタムアクションを実行します。

それは次のようにスケジュールされています:

myapptray.exeたまたま偽装を使用して、デスクトップで現在アクティブなユーザーとして、ローカルシステムの開始コンテキスト(MSIコンテキストから実行)から自分自身を再起動します。これは私の管理下にはなく、システムサービスのコンテキストからのアップグレードのためにMSIが呼び出される可能性があるため、Impersonate ='yes'は機能しません。つまり、Impersonate='yes'はアプリをローカルシステムとして実行することになります。

最近、VC9 CRTをMSMとしてこのMSIに含めることから、ブートストラッパーexeに含めることに移行しました。

これを行うと、myapptray.exeカスタムアクションが正常に実行されなくなります。なりすましは失敗し、 .WTSQueryUserTokenを返しますERROR_PRIVILEGE_NOT_HELD。これは、MSMを削除すると、MSIが実行されるユーザーコンテキストが実際に変更されたことを意味しているように見えますが、それはばかげているようです。wxsファイルから削除した行はMSMの<Merge>and<MergeRef>タグだけで、他に何も変更されていません。

私は何が間違っているのですか?

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

windows - MSIで同じマージモジュールを複数回使用する適切な方法は何ですか?

Windowsインストーラスクリプトを作成していますが、独自のフォルダに2つの機能をインストールする必要があります。

これらのフォルダの両方にマージモジュールを実行したいと思います。ただし、Windowsインストーラーではマージモジュールのコピーが1つしか許可されていないため、1つのアプリケーションフォルダーにしかインストールできません。

これを行うことは可能ですか?そうでない場合、回避策はありますか?

ありがとう!

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

c# - COM を使用してレジストリからクラスをロードすると、ToolsVersion="2.0" では機能しますが、ToolsVersion="4.0" では失敗します

内部 vb プロジェクトを COM として使用する ac# プロジェクトがあります。

プロジェクトを VS 2010 に変換すると、次の行が例外としてスローされます。

これRTCCore.RTCClientは、RTC 用の Microsoft Merge モジュール (RTC クライアント API 1.2) の一部であり、インストール パッケージに埋め込むことができます (私の場合は EXE が含まれています)。

これRTCCore.RTCClientは、以下のレジストリに登録されているクラスですHKEY_CLASSES_ROOT\RTCCore.RTCClient

私が得ているエラーは次のとおりです。

エラー: 自動化エラー
指定されたモジュールが見つかりませんでした。(-2147024770)

しかし、csproj を変更しToolsVersion="2.0"て上記の行を使用すると、RTCClient オブジェクトを取得できます。

問題に見えるのは?

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

windows - マージ モジュールのアップグレードの問題

カスタム USB ハードウェアのドライバーをインストールするマージ モジュールで構成される MSI/WIX インストーラー プロジェクトがあります。

インストーラーの新しいバージョンは定期的に作成されますが、マージ モジュールはしばらく変更されていません。ただし、当社のインストーラーを使用してインストールのアップグレードを実行すると、インストーラーは常にドライバー ファイルを再インストールし、これにより Windows プラグ アンド プレイが開始され、USB デバイスのデバイス ドライバーが再インストールされます。

これは、マージ モジュールが変更されていない場合、インストーラーがドライバーのインストールをスキップすることを目的としています。マージ モジュールのバージョン番号は変更されていないため、これが発生すると予想されます。

マージ モジュールのバージョン番号がメイン インストーラーに取り込まれる場合はありますか? その場合、ドライバー ファイルが変更されていない場合、インストーラーがドライバー ファイルをそのままにしておくことは可能ですか?

現状では、私たちのビルド システムは、リリースに向けてすべてをゼロからビルドします。おそらく解決策は、マージ モジュールをバイナリの依存関係として含め、何かが実際に変更されたときにのみ再構築する (およびドライバー アーティファクトを再構築する) ことでしょうか?

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

c#-4.0 - C#プロジェクトのSQL Server CEランタイム?

SQL ServerCompactEditionを使用しているアプリがあります。したがって、ランタイムをすべてのマシンに配置する必要があります。ランタイム用のマージモジュールを探していましたが、運がありませんでした。

ランタイムをアプリ自体に組み込む方法はありますか?そして、そうすることで、ユーザーがランタイムをインストールする必要がなくなりますか?

または、msiからモジュールを抽出してインストーラーにロードする方法はありますか?

私はVisualStudio2012を使用しています。そして、Createinstallfreeのようないくつかのインストーラークリエーターで遊んでいます。サイドとして、誰かが優れたフリーウェアインストーラークリエーターを持っていますか?

どんな助けも素晴らしいでしょう、

よろしくお願いします

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

twain - TWAIN DSMファイルを取得して実行する方法は?

Twainで実装されたフレームワークを実行すると、次のエラーが発生しますNO TWAIN DATASOURE IS NOT INSTALLED。Window764ビットを使用しています。Sourceforge TWAINDSMFILESからいくつかのドライバーをダウンロードしまし

ダウンロードディレクトリには次のものが含まれます。

  • TWAINDSM.dll
  • TWAINDSM64.msm

TWAINDSM.dllファイルをにコピーしましたC:\Windows\SysWOW64。私の疑問は、2つの関連ファイルを取得する方法です.ds。Iamはdotnet関連のものについて知りません。私を助けてください。

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

visual-c++ - プログラムが VC++ ランタイムを見つけられないのはなぜですか?

Unison (実際には私のプログラムではない) を使いやすいインストーラーにパッケージ化しようとしています。Tl;dr: スクリーンショット。

  1. テスト マシンにインストールして実行すると、「アプリケーションの構成が正しくないため、このアプリケーションは開始できませんでした」と表示されます。アプリケーションを再インストールすると、問題が解決する場合があります。
  2. イベント ログには、依存アセンブリ Microsoft.VC90.CRT が見つからないことが示されています。
  3. 検索により、「見つからない」dll が実際には C:\Windows\WinSxS にあることがわかります

では、何が問題なのですか?

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

installation - マージ モジュールのインストール場所を Installdirectory に設定する方法

Wix 3.6 で Firebird 用のマージ モジュールを作成しています。マージ モジュールのデフォルト パスはウィンドウ ドライブです。マージ モジュールのインストール ディレクトリを、インストール時にユーザーが選択したインストール ディレクトリに永続的に設定する方法を教えてください。ユーザーがどちらのパスを選択しても、マージ モジュールをアプリケーション パスにインストールする必要があります。

例えば

ユーザーが選択したパス\アプリケーション名\app.exe (または)

ユーザーが選択したパス\アプリケーション名\mergemodulefolder (または)

ユーザーが選択したパス\app.exe (または)

ユーザーが選択したパス\mergemodulefolder

実際、installshield では、マージ モジュールを右クリックし、ドロップダウン メニューからインストール場所を設定することで、これを行うことができます。

ありがとう