C#/VBならプロジェクトプロパティの設定(Properties\Settings.settings または My Project\Settings.settings)でスコープをユーザーにした設定値は共有されなくなります。
- スコープがユーザーの設定ファイルであるuser.configの保存場所は実行ファイルのフルパスで変化します。
- スコープがアプリケーションの設定値は
実行ファイル名.exe.config
のファイルに設定されて、実行時のファイル名で判断されます。
そのため、実行ファイル名と同時にexe.configも変更すれば、そのままアプリケーション設定ファイルが別にできるということになります。
つまり、スコープがユーザー/アプリケーションのどちらでも実行ファイルごとに別々になるので、同じ設定値を共有することはできなくなることに問題がなければ、単純コピーでも問題ありません。
しかし、その他ではプログラム上で排他処理が考慮されていない場合にデータ破壊あるいは最悪クラッシュがあり得ます。
たとえば、両方を同時に実行すると、
- 同じファイルに対して同時に読み書きしようとするなどした場合に排他アクセスで処理しないと、エラーあるいは最悪ファイルを破壊
- データベースにアクセスするようなプログラムで排他処理が十分にされていなくてデータの不整合
が考えられますが、これらは全く別のプログラムであっても起きることなので、あらかじめ考慮したプログラムを作っておけばいいことです。
よって、結論としては、
- プログラムが同じモノを同時に操作しないまたは排他処理している場合は、実行ファイルを単純にコピーして同時使用しても問題ない。
- プログラムに排他処理が足りないなら同時使用にはリスクがある。
ということになります。