2

NSIS インストーラーを作成するスクリプトを実行しているときに、原因がわからないエラーが発生します。makensisこのスクリプトは、インストーラーの作成に必要なファイルをコピーし、setup.exe をビルドするために呼び出します。

でのコンパイル中に、が呼び出されるmakensis前にコピーされたディレクトリ構造を含めようとすると、エラーが発生します。makensis

エラーは次のとおりです。File: failed opening file "..\..\..\My\Long\Path\Name\To\File.ext"

File /rディレクトリ構造を含めるために使用されたコマンドから 5 ディレクトリの深さの特定のファイルでは、確実に失敗します。パスの合計の長さは 180 文字なので、それほど長くはありません。

このエラーは、再起動後、またはディレクトリ構造全体を削除して再作成した後でも持続します。さらに悪いことに、別のマシンでは問題なく動作します。

Process Monitor を使用してディレクトリ内のファイルの使用状況を監視しましたが、コピーの完了後にファイルを開いているものは何もありません。

この問題を解決する方法はありますか?

4

2 に答える 2

5

完全なパス (現在のディレクトリ + 相対パス) は 260 文字未満である必要があります。

Process Monitor フィルターが正しいことを確認しますか?何らかのアクションが実行され、その後失敗するはずです? CreateFileが失敗すると、「ファイル: ファイルを開くのに失敗しました」というメッセージが出力されます...

于 2013-01-09T08:13:16.370 に答える