問題タブ [wix-extension]
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.
wix - WiX インストーラーでファイアウォールの例外としてアプリケーションを追加する方法
インストールするファイルが多数あるインストーラーがあります。すべてのファイルを収集するために heat.exe を使用しています。この heat コマンドは実際にはビルド スクリプトの一部であり、その後に Candle.exe や light.exe などの他のコマンドが続きます。これで、アプリケーションの test.exe も自動生成された GUID とコンポーネント ID と共に収集されます。この特定のアプリケーションをファイアウォールの例外として追加するにはどうすればよいですか? 問題は、スクリプトを使用してインストーラーをビルドするたびに、新しいハーベスト ファイルが新しいコンポーネント ID で生成されることです。助言がありますか?
wix - WiX 拡張機能でフォントをカスタマイズする
Windows Installer XML CommonUi Extensionの Windows サービス ダイアログを使用しています。
タイトル テキストの背後に暗い色のバナー ビットマップがあるため、タイトル フォントの色を変更したいと考えています。これを .wxs に追加してみました:
これは拡張機能なしで機能しますが、拡張機能を使用していると、次のエラーが発生します。
主キー「WixUI_Font_Title」がテーブル「TextStyle」で複製されています。エントリの 1 つを削除するか、主キーの一部の名前を変更して衝突を回避してください。
どうすればフォントを変更できますか?
編集:次のようにUIセクションにTextStyleを追加することで、これをハッキーな方法で解決しました:
.wxl
次に、元の文字列を同じテキストで上書き するカスタム文字列をファイルに追加しますが、フォント設定も使用します。
適切な方法を見つけることを期待して、質問に賞金を追加しています。
wix - エラー 0x8007007a: XmlConfig レコード ID をコピーできませんでした
特に、Wix XmlConfig を使用して XML ファイルを変更しています。
次のコードは例外をスローします。
SchedXmlConfig: エラー 0x8007007a: XmlConfig レコード ID のコピーに失敗しました SchedXmlConfig: エラー 0x8007007a: XmlConfig テーブルの読み取りに失敗しました エラー 25540. XML ファイルの構成中にエラーが発生しました。
上記のコードは、AdvancedLogging_InterACT_LogDefinition_selectedFields_Date_UTC_defaultValueアイテムがなくても正常に機能します。
ただし、 AdvancedLogging_InterACT_LogDefinition_selectedFields_Date_UTC_defaultValueを含めると失敗します。
誰かが手がかりを与えることができますか?
wix - WIX が Windows 機能を有効にする
ソフトウェアをインストールする前に、一部の Windows 機能が有効になっているかどうかを確認する必要があります。
dismコマンドラインツールを使用して確認またはインストールできます。
これを行うカスタム アクションを作成しますが、「WIX ネイティブの方法」でそれを行う方法はありますか?
問題は、コマンドがコマンド プロンプトを起動することです。これは、エンド ユーザーにとって非常に見苦しいものです。どうすれば綺麗にできますか?これを行うためにブートストラップが必要かどうかはわかりません (.NET Framework のインストールなど)。
それを管理する拡張機能はありますか?
現在、WIX 3.7 を使用しています。
wix - Wix マネージド ブートストラップ
bundle.wxs にいくつかの ExecPackages がチェーンされています。.Net Framework 4.0 をインストールするための PackageGroup セクションがあります。これは、PackageGroupRef としてチェーンの先頭にフックされています。ブートストラッパーをダブルクリックすると、.Net Framework インストール ウィンドウがポップアップし、.Net Fwk がインストールされます。.Net のインストール後、ブートストラッパーがマネージド UI を表示し、実際のインストール アクティビティを続行することを期待します。ただし、問題は、.Net フレームワークのインストール後に停止することです。UI がポップアップしてインストールを再開するには、ブートストラップをもう一度実行する必要があります。bundle.wxs の内容は次のようになります。
xml - XmlFile 要素を使用して WiX の CDATA ノードを変更するにはどうすればよいですか?
次の内容の XML 構成ファイルを変更しようとしています。
このXmlFile要素で:
しかし、結果として、CDATA タグが削除され、テキストに置き換えられます。CDATA タグを保持したい。この問題にはいくつかの解決策があるはずです。
私が試した解決策の 1 つは、XmlFile 要素を変更して、次のように CDATA タグを含めることです。
しかし、役に立たない。この場合、拡張機能はエラーをスローします。
次に、次のように CDATA タグを保持するダミー プロパティを追加してみました。
そして、それらを値に追加しました:
しかし、これは次の文字列になります。
どういうわけか、拡張機能により、より小さい記号とより大きい記号が XML エンティティに置き換えられます。
したがって、 XPath式を使用して CDATA 要素の内部テキスト要素を選択し、そのノードを変更できれば、最善の解決策になると思います。これを達成する方法はありますか?
sql - SqlString で編集された文字列の結果をエクスポートすることは可能ですか?
データベースをインストールするインストーラーがあります。データベースは、いくつかのログインとともに作成されます。ログインを作成するために、SqlString 要素で master データベースを使用しています。master データベースへのアクセスは、SQL サーバーに対して非常に高い権限を持つユーザーにのみ許可されます。多くの場合、権限がないためにマスター データベース用に指定された SQL 文字列を実行できないため、インストールが中止されます。
SqlString 要素を実行できない場合、インストールの SQL 部分がスキップされるように、インストーラーを編集したいと考えています。インストールが行われた後、ユーザーが自分で SQL ステートメントを実行できるようにしたいと考えています。インストーラーが実行するすべての SQL アクションは、SqlString 要素に格納されます。SqlString 要素には、インストール中に置き換えられる多くのプロパティが含まれています。編集したすべての SqlString 要素の内容を、ユーザー ディレクトリに格納されている 1 つの sql ファイルに抽出したいと考えています。
sqlextension がプロパティを置き換えた後に行われる customaction を作成する必要があると思います。そして、これらの変更された文字列にアクセスする必要があります。これを行う方法はありますか?
SqlString 要素の例:
SqlStrings が失敗した後に必要な sql ファイルの例: