4

私はLinuxのバックグラウンドを持っていますが、Windowsでソフトウェアのバージョンを提供したいと思います。ユーザーが私のプログラムを実行するには、VisualC++の再配布可能ファイルが必要です。パッケージの一部として提供したいと思います。

私の心配は、将来、VisualStudio2008再頒布可能パッケージのSP2が登場することです。SP1を提供するか、自分でインストールするように依頼した場合、将来のツールで必要になる可能性のあるdllの新しいバージョンが壊れる可能性がありますか?

ユーザーがこれを行わないようにするための指示はありますか?

誰かのマシンや他のアプリケーションに間違った指示を与えて台無しにしたくないのは確かです。

再配布可能なexe以外に、ツールをzipファイルとして提供し、任意のディレクトリに抽出できるようにする予定だったため、インストーラーを提供する予定はありませんでした。

4

4 に答える 4

7

VS 2008では、ランタイムが明示され、並べてインストールされます。したがって、アプリケーションがSP1のランタイムにリンクされている場合、SP1ランタイムでのみ実行されます(マニフェストがSp1バージョンをオーバーライドする必要があることを明示的に示している場合を除く)。

したがって、別のDLLと引き換えに、そのタイプのDLL地獄から保護されます(ユーザーはSP1再配布可能ファイルをインストールする必要があります)

于 2009-07-31T17:24:15.140 に答える
7

静的にリンクして、この問題を完全に回避してみませんか?

于 2009-07-31T17:28:14.650 に答える
3

VC ++再配布可能ファイルは、並べてインストールすることを目的としており、平和的に共存できます。

これは、VC++再配布可能ファイルに関するMSDNドキュメントのページです。MSDNのデプロイメントセクション全体が参考になるはずです。

于 2009-07-31T17:23:31.490 に答える
2

人が言うように、それらは並べてインストールされます。Visual Studio のインストーラー プロジェクト タイプを使用する場合、CRT 再頒布可能パッケージを含めるオプションがあり、アプリケーションと共にインストールおよびアンインストールできるように適切にセットアップされます。

特に、\Windows\WinSxS ディレクトリにインストールされます。

side-by-side がどのように機能するかを直感的に理解するには、次のようにします。

cd %systemroot%\winsxs
dir /S msvc*.dll

そして、人々があなたのマシンにインストールしたすべてのバージョンが表示されます。

于 2009-07-31T17:31:49.713 に答える