回答:
移植可能なプログラムは、主にそのプログラムのデータが保存される場所で実行する必要があります。通常、ユーザーデータはusername\AppData\
Windowsポリシーに従ってフォルダーに保存されます。ただし、プログラムファイルのフォルダからプログラムファイルをやみくもにコピーした場合、そのプログラムに関連付けられているすべての設定/ユーザーデータが失われるため、移植性はあまり高くありません。
別の問題は、プログラムがレジストリに設定と情報を保存することを選択する可能性があることです。プログラムファイルを別のコンピューターにコピーすると、読み取るレジストリエントリがなくなるため、プログラムが失敗する可能性があります。
最後の問題の1つは、コピー先のシステムに存在しない共有ライブラリを使用することをプログラムが選択する可能性があるため、プログラムが失敗することです。多くの場合、特に一部のオープンソースソフトウェアでは、プログラムのインストールにより、GTKランタイム環境やDirectXなどの別のプログラムのインストールが保証されます。コピーされたOSにGTK / DirectXがインストールされていない場合(または正しいバージョンがインストールされている場合でも!)、プログラムは失敗します。
したがって、ポータブルリリースが存在するためには、これらのすべての欠陥に対処する必要があります。通常、設定はプログラムと同じフォルダーにローカルに保存され、レジストリ全体は存在しません(たとえば、Chromeが使用するSQLiteデータベースと同じフォルダーをこれらの設定に使用します)。また、他のソフトウェアのインストールを必要とするプログラムは、インストールされたソフトウェアとライブラリを移植可能な方法で含める必要がある場合を除き、移植可能になりそうにありません。
詳細については、Wikipediaをご覧ください。
ポータブルインストールとは、プログラムがインストールされているフォルダーをストレージデバイス(USBフラッシュドライブやHDDなど)にコピーし、インストーラーを実行せずに別のコンピューターでプログラムを実行できることを意味します。
一方、プログラムの通常のインストールフォルダーを別のコンピューターにコピーすることはできません。一部のプログラムで動作する可能性がありますが、推奨されないのは、プログラムが使用する他の種類のファイルやレジストリエントリもあるためです。これらはインストールフォルダをコピーするだけではコピーされないため、プログラムは他の場所で適切に実行されない可能性があります。