1

XMLドキュメントから供給されるカスタムインストーラーを構築しています...

ほとんどのプログラマーが自分でビルドしないことは知っていますが、これは特に私が割り当てられたものなので、一緒に働いてください。インストーラーは、ジョブを実行する前に、プログラムの古いバージョンをアンインストールする必要があります。

問題なくレジストリ アンインストール文字列を取得できます。問題は、指示ファイルを作成するユーザーが常に正確な表示名を持っているとは限らないことです。

そう...

レーベンシュタイン差を使用して、70% を超える可能性のある一致を取得しています。これにより、間違いが発生する可能性があります。それらを修正するには、GUID を逆シリアル化して名前を取得し、正しい名前であることを確認できることを望んでいました。またはそれらの線に沿った何か。

レーベンシュタインの違いに基づいて類似度が 100% 未満である場合に冗長チェックを行う方法に関する推奨事項を誰かに教えてもらえますか (単語/フレーズが同じ長さの場合はハミングの違いで確認されます)。

ノート:

古いバージョンをすべて削除すると、バージョンがわからない可能性があります

パブリッシャーはすべてで同一になります

インストール場所はネットワークであるべきですが、ユーザーがローカルにコピーすることを好む保証はありません

4

1 に答える 1

0

GUID には、生成元のドメインからの情報は含まれません (または、少なくともすべきではありません)。これらはランダムに生成された数値であり、一意であることが保証されていると思われる十分な大きさのキースペースがあります。

この GUID の関連情報を検索するためのデータベースまたはなんらかの形式のリポジトリがない限り、生の GUID は、ランダムなデータベース テーブルの整数 ID よりも役に立ちません。単なる識別子です。

GUID

編集

あなたが探していることを実行できる VBS スクリプトを見つけました。これにより、レジストリ ID によってアプリケーションがアンインストールされます。プログラムが別の言語で記述されている場合でも、System.Diagnostics 名前空間を使用して VBS スクリプトを起動できます。

System.Diagnostics.Process.Start("path to script here");
于 2013-09-17T13:53:38.027 に答える