私が作業している一部のデバイスでは、\Windows
ディレクトリは永続的なストレージにありません。つまり、デバイスを再起動すると、書き込まれたものはすべて\Windows
失われます。wceload.exe
(Windows CE CABインストーラプログラム)が.unloadファイルを生成し、それをに配置するため、これはプログラムのアンインストールで特に問題になります\Windows
。アプリケーションは、デバイスを再起動する前にアンインストールできますが、その後はアンインストールできません(コントロールパネルの[プログラムの削除]ツールに、アンインストールファイルを開くことができないというエラーが表示されます)。では、再起動後も.unloadファイルを保持するにはどうすればよいですか?アンインストーラー(私はそれが呼ばれていると思いますunload.exe
)が.unloadファイルを探す場所を制御する方法はありますか?
3 に答える
私はまだこれに関する良い情報を見つけることができませんでした。アンロードファイルへのパスがハードコーディングされているように見えるので、私ができる最善のことは、アンロードファイルのバックアップを作成することです。ユーザーがアンインストールを希望する場合は、ファイルを手動で\ windowsディレクトリにコピーしてから、コントロールパネルのアンインストールツールを使用する必要があります。詳細は次のとおりです。http: //www.generation-nt.com/us/answer/wince5-force-wceload-install-unload-into-nonvolatile-memory-help-87676002.html
インストール後に永続ディレクトリにコピーすることで、再起動後も.unloadファイルを保持できる可能性があります。このディレクトリは、デバイスごとに異なる場合があります(例:\Hard Disk\ramroot\Windows
または)\Backup\Windows
。\Windows
その後、再起動時に自動的にコピーされます。(そのようなディレクトリと動作がすべてのデバイスに存在するかどうかはわかりませんが。)
このファイルをコピーするには、インストールの完了後にカスタムsetup-dllからcopy-statementを実行する必要があります。 このcodeproject-siteには、スクリーンショットとコードを含む非常に包括的な説明があります。
アプリケーションを再インストールしてから、コントロールパネルの削除プログラムからアンインストールするだけです。