問題タブ [wix]
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.
com - Win32 COMDLLファイルをWiX3にどのように登録しますか?
DLLの登録、WindowsインストーラーXMLツールセットを使用したMSIファイルでのCOM相互運用機能のアセンブリの登録の例を見つけました。、およびWiXは「AssemblyRegisterComInterop」属性について文句を言います。
これを削除して「Assembly」属性をwin32に変更すると、AssemblyManifest属性を指定する必要があると表示されますが、何を配置する必要がありますか?
.net - MSI(WiX)を使用して.NETDLLをCOM+アプリケーションにインストールするにはどうすればよいですか
更新:これは確かにWiXの制限のようです-64ビットcom +コンポーネントを追加できません(3.0.3907.0)
WiX2.0を使用して作成されたMSIインストーラーを備えた.NETアプリケーションがあります。インストーラーは(とりわけ)COM +アプリケーションを作成し、.NETアセンブリをコンポーネントとしてこのアプリケーションにインストールします。このDLLは純粋に管理されていますが、32ビットまたは64ビットの混合DLLを呼び出します。32ビットプラットフォームでは、すべてが正常に機能します。ただし、64ビットでは、COM + dllhost.exeプロセスは32ビットとして実行され、その後、ネイティブDLLのロードに失敗します。レジストリを見ると、COM +コンポーネントDLLがWow6432Nodeキーで登録されていることがわかり、それがdllhostが32ビットとして実行されている理由だと思います。
コンポーネントサービススナップインを使用してDLLを削除して再度追加すると、すべてが「実際の」レジストリに正しく登録され、dllhostは64ビットで起動します。インストーラーに同じことをさせるにはどうすればよいですか。64ビットDLLとして正しく登録しますか?PackagePlatform属性を"x64"に設定し、すべてのコンポーネントにWin64 = "yes"属性を設定しましたが、これらは役に立たなかったようです。
COM+コンポーネントのWiXソースは次のようになります。
wix - Wix/DTF で即時カスタム アクションから遅延カスタム アクションをスケジュールする方法は?
.wxs ファイルから即時のカスタム アクションを参照し、そのカスタム アクションに後続の (延期された) カスタム アクションをスケジュールさせることは、ありふれたことでさえあり得るという趣旨の声明を見てきました。私が知らないのは、これを行うコードがどのように見えるかです。誰?
visual-studio-2008 - WiX で生成された MSI は圧縮されていません
WiX3 を使用して MSI インストール パッケージを生成します。<Package>
要素と<Media>
要素の両方で圧縮フラグを指定しました。
しかし、結果の MSI はまったく圧縮されません。WinZip はそれを 2M から 600K に圧縮しました。
何か不足していますか?
私はVS2008を使用しています。
image - WiX ビットマップに .png 画像を使用することは可能ですか?
WiX ダイアログに画像を表示するために 2 つの 500K ビットマップを使用しています。
<binary>
インストール パッケージのサイズが劇的に増加し、さらに悪いことに、WiX 用語では -es であるため、.cab ファイルの一部としてパッケージ化する方法がないように見えます。
それで、ビットマップに他のファイル形式を使用する方法はありますか、または WiX は BMP でつながれていますか? 理想的には、ゆるい圧縮オプションが付属しているため、.png 形式を使用する方法があれば素晴らしいと思います。
build - テキスト ファイルの内容を WiX スクリプトに含める
テキスト ファイルから WiX 変数の値を読み取る方法はありますか?
私がやろうとしているのは、バージョン固有の情報をインストール パッケージに含めることです。
このバージョン情報は、ビルド前のステップでテキスト ファイルに抽出されます。問題は、このテキスト ファイルの内容をビルド プロセスに伝達する方法です。
可能な解決策の 1 つは、ビルド前のステップでも .wxs ファイル全体を更新することですが、少しずさんな感じがします。
邪魔にならない他の方法はありますか?
ありがとうございました。
wix - DB Pro(データ男)とWix3 SqlExtension
インストール中にWixを使用してデータベースを作成しようとしています。Db Pro Visual Studio SKU(Data Dudeと呼ばれることもあります)を使用してデータベースをセットアップしています。:setenv
ただし、出力は特定の構文(およびなどの変数参照)を使用しているため、sqlcmd.exeでのみ使用できるよう$(FOO)
です。
どうやらsqlcmd.exeを使用していないwixsqlextensionを使用しようとしています(使用しているデータアクセステクノロジについてはまだ調査していません。
データの出力をwixsqlextensionでネイティブに使用する方法があるかどうか、またはsqlcmd出力を取得してSQLサーバーに対して実行するために必要なランタイムSQLに変換する方法があるかどうかを誰かが知っていますか?
最終的な目標はwixをビルドシステムに完全に統合することであるため、自動化されたアプローチを探していることに注意してください。
.net - Windows マシンでの製品のインストールと構成
Web アプリケーションと Windows サービスで構成される .NET 3.5 プロジェクトに取り組んでいます。どちらもサーバー マシンに展開する必要があります。
アプリケーション ファイルをインストールし、ショートカットを作成し、サービスを登録する Wix 3 を使用して msi パッケージを作成しました。
私の次のタスクは、以下を実装することです。
- ウィザード形式の GUI を使用して Windows サービスを構成できるインストール後の手順
- インストール設定をファイルからロードできるようにするインストール前の手順
- 設定をファイルにバックアップできるアンインストール前の手順
次の 2 つのオプションが表示されます。
- カスタムアクションでやりたいことをするためにmsiを微調整する
- すべてのカスタム タスクを処理し、msiexec を使用してバックグラウンドで msi パッケージをサイレント モードで実行する msi (Setup.exe) のラッパーを作成します。
理想的には。オプション 2 で行きたいと思います。どう思いますか?
任意の推奨事項をいただければ幸いです。
ありがとう、
アーニー
wix - 異なるコンテキストで MSI (wix) から通常のユーザーとしてプロセスを実行する
社内で使用するソフトウェアのインストーラーを構成しようとしています。
インストーラーは SMS 経由でターゲット マシンにプッシュされ、次の手順を実行します。
- 現在実行中のアプリのインスタンスをすべて終了します (アプリはユーティリティであるため、ユーザーへの影響はありません)。
- 以前のバージョンを削除します。
- 更新されたバージョンをインストールします。
ステップ 3 が完了したら、インストールされた実行可能ファイルを (SMS ジョブを実行するシステム アカウントではなく、現在ログインしているユーザーとして) 起動します。
次のようにカスタムアクションを追加しようとしました:
そして、InstallExecuteSequence
要素には次のものがあります。
ただし、SMS ジョブとして、または管理者として実行しようとしても、何も起こりません (たとえば、アプリは再起動されません)。
助言がありますか?
c# - マネージド コードからインストール日を取得する
製品 GUID を使用してアプリケーションのインストール日を取得するマネージ API はありますか?
ありがとう。スコット