問題タブ [wix2]
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.
windows-services - WiX(2.0)を使用したマルチファイルNTサービスのインストール
WiXにいくつかの追加ファイルを含むサービスをインストールし、実際のサービスEXEファイルを定義するにはどうすればよいですか?
シナリオ:単一のEXEファイルであるサービスがあり、次のコードを使用してWiXにWindowsNTサービスとしてインストールしました。
そして、このサービスをインストールしてオプションで開始できる機能がありました。
今、私の問題は-今私のサービスは成長し、単一のEXEはもはや単一のEXEではありません-それは複数のファイル、EXE、DLL、およびいくつかのサポートファイルです。
しかし、どうすれば今それをインストールできますか?
すべてのファイルを含むコンポーネントを作成しようとしました
まず、ServiceInstallタグとServiceControlタグをこのコンポーネントに追加しようとしました。
しかし、その後、私の「Framework.dll」が作成中のサービスのソースパスとして設定されます.......。
そのため、ServiceInstallを使用して実際にサービスをインストールするための2番目のコンポーネントを作成し、FileRefを使用してそのサービスEXEファイルを参照するだけだと思いましたが、(少なくともWix2では)存在しないようです。
だから-必要なすべてのファイルをインストールし、NTサービスのインストールで正しいEXEファイル(コンポーネントのファイルリストから任意のファイルだけでなく)を取得するために、貧弱なWiX作成者は何をしなければなりませんか?
マーク
wix - WIX 2.0 でカスタム アクション プロジェクトを作成する方法
WIX 2.0 (および Votive) をインストールしました。カスタム アクション プロジェクトを使用して、ユーザー定義のカスタム アクションを作成する必要があります。WIX 3.0 がインストールされている場合、VS2008 でカスタム アクション プロジェクト テンプレートを見つけました。現在、VS2005 と WIX 2.0 でテンプレートが見つかりませんでした。
カスタム アクション プロジェクト (いくつかのカスタム アクションを含むクラス) を作成する方法を教えてください。
Microsoft.WindowsInstaller と Microsoft.Deployment.WindowsInstaller は、そのようなメソッドを作成するために必要な参照 (不明) だと思いますが、自分のマシンでそれらを見つけることができませんでした。
「Microsoft.WindowsInstaller」dll を参照して、カスタム アクション プロジェクト (1 つのクラスとカスタム アクション メソッドを含むクラス ライブラリのみ) を作成することができました。しかし、そのdllを実行する際に問題に直面しています..
そのdllには[CustomAction]としてマークされた「InstallItem2」というメソッドがあります..しかし、エラーに直面しています:
この Windows インストーラー パッケージには問題があります。このインストールを完了するために必要な DLL を実行できませんでした(...)
このエラーが発生する理由は何ですか?
wix - WiX MultiString レジストリ キー
次のようなwixセットアップに互換性アシスタントのレジストリキーを追加してみました:
ただし、インストール時にキーは生成されません。私は何かを見逃していますか、何か間違っていますか? この質問とwixのドキュメントから、私がやっていることの詳細を入手しました。
更新: 構文が少し異なります。指摘した質問が異なるバージョンの WiX を使用しているためだと思います。私が使用した構文は、WiX 2 が受け入れる唯一のものであり、この wix ファイルは正常にビルドされます。新しいレジストリ エントリが生成されないだけです。
更新: 私は問題を誤診していました。wix スクリプトは適切に機能しましたがWow6432bit
、含まれているコンポーネントに属性がなかったため、値をレジストリのノードに入れましたWin64="yes"
。
wix - Wix 2 から Wix 3 への移行:シンボルの重複
私は WiX にまったく慣れていないので、もちろん、WiX での最初のタスクは、既存の大規模なインストール プログラムを WiX 2 から WiX 3 に移行することです。多くのしわがありましたが、そのほとんどは整理されましたが、感謝しています。次の軽いエラーを含むいくつかの提案について。私は WiX を初めて使用するので、プロセス全体をリストしたいと思います。
WiX ライブラリを作成するには:
メイン MSI を生成するには:
この最後のコマンドは何十ものエラーを返しますが、それらはすべて次の形式を取ります
私はgrepしてre-grepしましたが、唯一の参照は次のとおりです。
LicenseAgreementDlg.wxs:
そしてwixui_company.wxsで
エラーが発生するのは DialogRef 行です。
これらは両方とも、main.wxs の wixui_company.wixlib から参照されます。
FWIW、参照を WixUI に変更するか、参照を LicenseAgreementDlg に変更すると、重複エラーはなくなりますが、代わりにシンボルが見つからないというリンクエラーが発生します。WixCop を使用して元の wxs ファイルを移行しましたが、WiX 2 ではすべてそのまま機能しました。これは、WiX 3 で WiXUI を独自の名前空間に配置する動きに関係していると推測していますが、率直に言って、何を試したらよいかわかりません。
物事がひどくうまくいかなかった場所についてのアイデアはありますか?
ありがとう、
アダム
wix - MMC スナップイン/拡張機能をインストールするための WIX 拡張機能はありますか?
xmlns http://schemas.microsoft.com/wix/MmcExtensionに通知するWix2 の MMCの拡張機能が以前にあったよう です。現在、この URL を読み取ろうとすると、エラー ページが表示されます。
Wix3.6 に相当するものを見つけることができないようです。これは意図的に (削除) 移動されたのでしょうか、それとも単に見つからないのでしょうか?
c# - WiX dll の埋め込み
インストール中に他の dll によって使用される wix インストーラーに .dll を埋め込もうとしていますが、顧客のシステムにはインストールされません。
私は現在持っている
しかし、他の.dllを取り出しても、WiXはAutomationUtilsの存在を認めることを拒否します..正常にビルドされても(ただし、実行しようとすると失敗します)。
wix - WiX: RemoveExistingProducts + ADDLOCAL
Wix 2 を使用しています。 を使用RemoveExistingProducts
していますが、以前にインストールした機能を保持したいと考えています。ADDLOCAL
さらに、コマンド ラインで指定されたパラメーターを介して新しい機能を追加したいと考えています。ただし、この記事 によると、フラグADDLOCAL
を設定します。Preselected
したがってMigrateFeatureStates
、発火しません:
両方を使用する可能性はありますか?
wix - プロパティ取得エラー
だから..私はこのCAを持っています
<CustomAction Id="InstallSetProp" Property="CustomActionData" Value="<some other data that's formatted exactly the same> /webconftmploc="[WEBCONFIGTMPLOC]"" />
ただし、この CA が呼び出されると、「Error Getting Property」というメッセージ ボックスが表示されます。これは、プロパティが正しく設定され、後でアクセスできるため、偽のメッセージです。(そして、インストールを完全に自動化する試みを台無しにする以外には何もしません)/qr
これを支援するために切り替えるブートストラップを介して.msiを実行しています。
を削除すると、メッセージ ボックス エラーは表示されません/webconftmploc="[WEBCONFIGTMPLOC]"
。レコード[WEBCONFIGTMPLOC]
は絶対ファイル パスまたは「設定されていません」のいずれかであり、この動作が発生する特別な理由があるかどうか疑問に思っています。
ただし、もちろん、このアクションを抑制または修正するための可能な方法にもっと興味があります。
wix - WIX インストール シーケンスで CA を動的に変更する
インストーラーで設定したプロパティに応じて、インストールの特定の時点で呼び出すカスタム アクションを決定すると、非常に便利です。
例えば; 異なるバージョンの SQL (具体的には SSRS 2005/2008R2) とのインターフェイスに別の DLL を使用する場合。
どの CA を実行する必要があるかを識別するアクション (インストーラーが指している SSRS バージョンを見つけることによって) は「即時」で実行され、実行されるかどうかの CA はこの結果に依存し、「延期」されると仮定します。
インストールの特定の部分で実行する遅延 CA を、インストール中に動的に変更するにはどうすればよいですか?..これは可能ですか?
((WiX 2.0 が推奨されますが、より高いバージョンの回答も受け入れられます))
wix - アンインストール中に条件付きでファイルを削除するにはどうすればよいですか?
私はこのWiXフラグメントを持っています:
<Directory>
プログラムがデータを保存するアプリケーションデータの下のディレクトリの適切な要素に。ただしどちらも
と
フォルダーを削除すると、条件が機能しなくなります。私もこの条件を試しました:
同じ結果で。
アンインストール中に動作を変更するためにパラメーターを msiexec に渡す正しい方法は何ですか? パラメータが無視されているようです。