プロジェクトモードでは,特に指定しない限り,書き込み禁止のパッケージ(拡張子.4DZ
の圧縮されたプロジェクトフォルダー)がビルドされます。ビルド後にプロジェクト(ストラクチャー)を更新することはできない点に留意してください。つまり,テーブルやフィールドを追加するようなSQL,SAVE LIST
ARRAY TO LIST
SET PICTURE TO LIBRARY
CREATE INDEX
などのコマンドは使用できません。これは仕様です。
アプリケーションが内部ファイルを書き換えることは一般的に推奨されていません。これにはインストール済みアプリケーションを部分的に更新すること,たとえばビルドされたアプリ内のストラクチャーファイルを入れ替えることも含まれます。オペレーティングシステムやセキュリティソフトウェアは,そのようなアプリを「悪意のあるプログラム」とみなすかもしれません。
プロジェクトモードで開発したストラクチャーをビルド後に書き換えるのであれば,オペレーティングシステムやセキュリティソフトウェアの監視対象からアプリケーションを外すことに加え,拡張子.4DZ
の圧縮されたパッケージを作成するのではなく,コンパイルコードをそのままエクスポートする必要があります。そのようなアプリをビルドするには,ビルド設定ファイルの「PackProject」キーを使用します。
https://doc.4d.com/4Dv19/4D/19/PackProject.300-5447945.ja.html
しかし,セキュリティ上のベストプラクティスに倣い,アプリケーションはRead Onlyモードで配付し,部分的にではなく,全体を入れ替えるような仕方でアップデートするべきです。過去のバージョンで開発されたストラクチャーの場合,プロジェクトモードに移行した後,下記の点をチェックすると良いかもしれません。
初回データファイルをRead Onlyにする
- v15で追加されたDefault Data
最後に使用したデータファイルの場所をストラクチャーに書き込まない
- v16で追加されたアプリケーション配布のアーキテクチャー
データベース設定をストラクチャーに書き込まない
- v16で追加されたデータファイル用のユーザー設定
バックアップ設定をストラクチャーと同じ階層に保存しない
ストラクチャー書き換えコマンドを使用しない
- SET PICTURE TO LIBRARY
- SAVE LIST
- ARRAY TO LIST
- CREATE INDEX
- DELETE INDEX
- SET INDEX
- IMPORT STRUCTURE
- REGENERATE MISSING TABLE