2016-10-26 13 views
0

私はVS2008を使用してC#で書かれたWindowsツールをサポートしています。ツールはSTASと呼ばれます。 STASには、ユーザーがPythonスクリプトを使用してツールで「公開された機能」を呼び出すことができる機能があります。 STASは、関数のインターフェイスを含むCOMオブジェクトを初期化します。 Pythonスクリプトはwin32.client.GetObjectモジュールを使用してCOMオブジェクトを取得します。 GetObjectによって返された変数は、公開された関数を呼び出すために使用されます。Wixコンバータを使用しているWindowsレジストリ設定

STASをVS2015に変換するように私の会社管理者から要請されました。 vdprojインストーラファイルはVS 2015ではサポートされていません。VS2015はインストーラプロジェクトにWixを使用します。私は "vixproj to wix"コンバータプログラムを使ってwixインストーラプロジェクトを作成しました。

インストーラをインストールしてSTASツールをインストールしました。私は、Pythonスクリプトが動作していないことを知りました。

VS2015で構築されたSTASを削除しました。私はレジストリ比較プログラムRegShotを実行し、 "1st shot"を選択しました。その後、VS2008バージョンを使用してSTASツールをインストールし、RegShotを再度実行してレジストリを比較しました。 RegShotはレジストリに604個のキーが追加されたことを示しました。 1159値がレジストリに追加されました。

私はVS2008で構築されたSTASを削除しました。その後、VS2015で構築されたSTASのプロセスを繰り返しました.VS2015 STAS前後でRegShotを実行したとき、RegShotは35個のキーが追加されたことを示しました。 415値が追加されました。

私は以下の質問があります。 1.何百人ものレジストリ設定がないWixコンバータプログラムでこの問題を見た人はいますか?

  1. .regファイルをWIX .wxsファイルにインポートする方法はありますか? VS2015のSTASインストールを使用するレジストリには多くの設定がありませんので、手作業でWixインストールファイルに追加するには時間がかかりすぎます。私はこのウェブサイトを見た:http://neilsleightholm.blogspot.com/2010/06/wix-reg-file-heat-extension.html

  2. 誰かこの方法を試してみましたか?

私は、VSインストーラのプロジェクトとレジストリ設定についてはよく分かりません。何か助けてくれてありがとう。

+0

インストーラの拡張機能をインストールする場合、インストーラプロジェクトはVS 2015でサポートされているhttps://visualstudiogallery.msdn.microsoft.com/f1cc3f3e-c300-40a7-8797-c509fb8933b9 – PhilDW

答えて

0

あなたが使用できるいくつかのオプション:

  1. あなたはおそらくのDllRegisterServerに登録されることが可能であるコンポーネントにSelfRegCost=1を追加する必要があります。これは、古いインストーラがやっていたことであり、動作を再実装する最も簡単な方法です。 (これはベスト・プラクティスではありません)

    Orcaのvs2008 msiを見て、SelfRegテーブルがあるかどうか確認してください。存在する場合は、参照しているファイルと新しいwixプロジェクトを確認し、FileタグにSelfRegCost=1属性を追加します。

  2. ヒートツールを使用してください。ヒートツールをvs2008 msiのセルフテーブルにあるファイルだけで実行し、出力コンポーネントのレジストリ情報を適切なコンポーネントの新しいwixファイルにコピーします。

  3. vs2008 msiのレジストリテーブルを調べて、これらの不足しているエントリがすべて含まれているかどうかを確認してください。私はそれがあなたがしたコンバートの中にコピーされていないので、それはないと仮定します。これらのエントリがある場合は、msiでdark.exeを使用してレジストリテーブルの情報を取得する必要があります。

  4. さらに、vs2008で作成したmsiを使って、dark.exeプログラム(wixツールセットの一部)を使用してください。これはmsiを使用可能なwixファイルに逆コンパイルする必要があります。コピーしたいファイルを選択して選択するか、まったく冗長で読みにくく、保守や変更が難しいかもしれませんが、完全な逆コンパイル出力を使用するだけです。

+0

提案をいただき、ありがとうございます。私はWixのダークツールを使用し、新しいWixインストーラプロジェクトを構築しました。残念ながら、Wixインストーラはまだレジストリ設定のすべてを設定していません。ヒートツールを使用してレジストリ設定をインポートしようとします。 – user1094610

関連する問題