k.nishijo
2018年1月9日 9時49分
西條と申します。
掲題の件について、
自作のアプリケーションをWindows Embedded Compact7にインストール後も、
電源をリセットすると自作アプリが消えてしまうのですが、どのようにすれば消えずに残った状態になるのでしょうか?
ご教示ください。
コメント
k.nishijo
古賀様
西條です。お世話になります。
OSDesign.bibにexeをセットしてOSイメージをビルとしてみましたが以下のエラーが発生します。
D:\WINCE700\build.log(6878) : Error: only 4k page alignments supported at this time, found in module SmartDeviceProject7.exe {log="D:\WINCE700\build.log(6878)"}
本件の対処法についてご教示ください。
> こんにちは。サムシングプレシャスの古賀です。
>
> 西條さん:
> >自作のアプリケーションをWindows Embedded Compact7にインストール後も、
> >電源をリセットすると自作アプリが消えてしまうのですが、どのようにすれば消えずに残った状態になるのでしょうか?
> >ご教示ください。
>
> 電源リセットで消えてしまうのは、RAMFS 上にインストールされているからですね。デフォルトでは、WEC の /Windows ディレクトリは RAMFS 上に作成されます。そのため、CAB ファイルなどから /Windows ディレクトリ配下にアプリケーションをインストールしても、消えてしまうのです。
>
> 消えずに残るようにするには、次のいずれかの方法をお使い下さい:
>
> ・永続記憶域にアプリケーションを配置する。
> :FATFS フォーマットの USB メモリを Armadillo-840 に装着すれば、USB MSC クラスドライバと、Armadillo-8x0 用の USB ホストドライバが組み込まれた OS イメージの WEC では、"Hard Disk" というような名前のボリュームとしてマウントされます。この中にアプリケーション(.exe)を配置しておけば、そこから起動できます。
>
> ・OS イメージにアプリケーションを組み込む。
> :OS Design プロジェクトの .bib ファイル(OSDesign.bib)に、組み込みたいアプリケーションの .exe のエントリを記述して OS イメージをビルドすれば、その .exe が OS イメージに組込まれ、起動後は、/Windows ディレクトリ直下に出現します。
>
> .bib ファイルの書式や記述例については、MSDN にあるリファレンスの、次のページをご覧ください。
>
> Binary Image Builder (.bib) File (Compact 7)
> https://msdn.microsoft.com/en-us/library/ee478797(v=winembedded.70).aspx
>
>
> 以上、参考になりましたら幸いです。
>
ファイル | ファイルの説明 |
---|---|
OSDesign.bib_.txt |
shkoga
こんにちは。サムシングプレシャスの古賀です。
西條さん:
>OSDesign.bibにexeをセットしてOSイメージをビルとしてみましたが以下のエラーが発生します。
>
>D:\WINCE700\build.log(6878) : Error: only 4k page alignments supported at this time, found in module SmartDeviceProject7.exe {log="D:\WINCE700\build.log(6878)"}
>
>本件の対処法についてご教示ください。
添付して頂いた OSDesign.bib ファイルの内容を拝見したところ、'SmartDeviceProject7.exe' を MODUILES セクションに記載していらっしゃいますが、これが原因です。MODULES セクションではなく、FILES セクションに記載して下さい。
上記のエラーメッセージは、僕も初めて見ましたので、
only 4k page alignments supported atthis time
で Google 検索してみたところ、MSDN のフォーラムにある、以下のページがヒットしました:
https://social.msdn.microsoft.com/Forums/en-US/addbd867-e791-484d-9c2a-…
k.nishijo
古賀様
西條です。
お世話になります。
本件、ご指摘の点を修正したところエラーがなくなりましたのでビルトしたOSをアルマジロにダウンロードしてみましたが、
compact7上には自作アプリ'SmartDeviceProject7.exe'はどこにも配置されていないようです。
何かわかるようでしたらご教示ください。
※ちなみに、exeはC#で作成したものでCompact7上で実行できることは一様、確認いたしました。
よろしくお願いします。
> こんにちは。サムシングプレシャスの古賀です。
>
> 西條さん:
> >OSDesign.bibにexeをセットしてOSイメージをビルとしてみましたが以下のエラーが発生します。
> >
> >D:\WINCE700\build.log(6878) : Error: only 4k page alignments supported at this time, found in module SmartDeviceProject7.exe {log="D:\WINCE700\build.log(6878)"}
> >
> >本件の対処法についてご教示ください。
>
> 添付して頂いた OSDesign.bib ファイルの内容を拝見したところ、'SmartDeviceProject7.exe' を MODUILES セクションに記載していらっしゃいますが、これが原因です。MODULES セクションではなく、FILES セクションに記載して下さい。
>
> 上記のエラーメッセージは、僕も初めて見ましたので、
> only 4k page alignments supported atthis time
> で Google 検索してみたところ、MSDN のフォーラムにある、以下のページがヒットしました:
> https://social.msdn.microsoft.com/Forums/en-US/addbd867-e791-484d-9c2a-…
>
shkoga
こんにちは。サムシングプレシャスの古賀です。
西條さん:
>本件、ご指摘の点を修正したところエラーがなくなりましたのでビルトしたOSをアルマジロにダウンロードしてみましたが、
>compact7上には自作アプリ'SmartDeviceProject7.exe'はどこにも配置されていないようです。
>何かわかるようでしたらご教示ください。
不思議ですね。確認ですが、作成された OS イメージ(nk.bin)を、Platform Builder/Visual Studio 2008 で開いて内容を見ると、どうなっているでしょうか?
以下のページは、WinCE 6.0 向けですが、WEC 7 の場合も、同様に Platform Builder プラグインをインストール済みの Visual Studio では、nk.bin を開くことができ、OS イメージ内のレジストリ設定内容や、収録されているファイルの一覧を見ることができます:
https://msdn.microsoft.com/en-us/library/ee481840(v=winembedded.60).aspx
以上、参考になりましたら幸いです。
k.nishijo
古賀様
西條です。
お世話になります。
NK.binの中身を確認しましたが自作アプリがあることは確認できました。
属性のところにRSCとありますが、この意味が当方ではGoogle検索でもわかりません。
隠しファイルになっているということでしょうか?
よろしくお願いします。
> こんにちは。サムシングプレシャスの古賀です。
>
> 西條さん:
> >本件、ご指摘の点を修正したところエラーがなくなりましたのでビルトしたOSをアルマジロにダウンロードしてみましたが、
> >compact7上には自作アプリ'SmartDeviceProject7.exe'はどこにも配置されていないようです。
> >何かわかるようでしたらご教示ください。
>
> 不思議ですね。確認ですが、作成された OS イメージ(nk.bin)を、Platform Builder/Visual Studio 2008 で開いて内容を見ると、どうなっているでしょうか?
>
> 以下のページは、WinCE 6.0 向けですが、WEC 7 の場合も、同様に Platform Builder プラグインをインストール済みの Visual Studio では、nk.bin を開くことができ、OS イメージ内のレジストリ設定内容や、収録されているファイルの一覧を見ることができます:
> https://msdn.microsoft.com/en-us/library/ee481840(v=winembedded.60).aspx
>
> 以上、参考になりましたら幸いです。
>
ファイル | ファイルの説明 |
---|---|
NK_BINの中身.png | |
OSDesign.bib (2).txt |
shkoga
こんにちは。サムシングプレシャスの古賀です。
西條さん:
>NK.binの中身を確認しましたが自作アプリがあることは確認できました。
>属性のところにRSCとありますが、この意味が当方ではGoogle検索でもわかりません。
>隠しファイルになっているということでしょうか?
R は分からないのですが、S と C は、それぞれ、System と Compressed を意味しています。これらは、.bib ファイルの書式のリファレンスで説明されている、Type フィールドの 'S' と 'C' に対応しています:
https://msdn.microsoft.com/en-us/library/ee479140(v=winembedded.70).aspx
https://msdn.microsoft.com/en-us/library/ee479063(v=winembedded.70).aspx
隠しファイルにする場合(エクスプローラのデフォルト設定では、エクスプローラに表示されないようにする場合)は、'H' を指定します。
アプリケーションを実行できない件ですが、現状 Type フィールドの指定が S のみになっていますので、これを、SU に変えてみて下さい。FILES セクションに記載したファイルは、OS イメージに格納される際、デフォルトでは C 指定となり、圧縮されて格納されます。しかし、圧縮されてしまうと、WEC の loader が .exe を実行できなくなってしまうので、U を指定し、圧縮されないようにする必要があります。
# 現状の設定のままの OS イメージでも、WEC の起動後、/Windows ディレクトリ下から
# SmartDeviceProject.exe を別のディレクトリへ CopyFile() などでコピーして、コピーした
# 方の .exe を実行すれば(※コピーする際に、WEC カーネルが伸長してくれるので)、
# 問題なく動作するのではないかと思います。
k.nishijo
古賀様
西條です。
お世話になります。
本件、ご指摘の修正方法にて、自作アプリがWEC内で消えないで残るようになりました。
ありがとうございます。
以上よろしくお願いします。
> こんにちは。サムシングプレシャスの古賀です。
>
> 西條さん:
> >NK.binの中身を確認しましたが自作アプリがあることは確認できました。
> >属性のところにRSCとありますが、この意味が当方ではGoogle検索でもわかりません。
> >隠しファイルになっているということでしょうか?
>
> R は分からないのですが、S と C は、それぞれ、System と Compressed を意味しています。これらは、.bib ファイルの書式のリファレンスで説明されている、Type フィールドの 'S' と 'C' に対応しています:
> https://msdn.microsoft.com/en-us/library/ee479140(v=winembedded.70).aspx
> https://msdn.microsoft.com/en-us/library/ee479063(v=winembedded.70).aspx
>
> 隠しファイルにする場合(エクスプローラのデフォルト設定では、エクスプローラに表示されないようにする場合)は、'H' を指定します。
>
> アプリケーションを実行できない件ですが、現状 Type フィールドの指定が S のみになっていますので、これを、SU に変えてみて下さい。FILES セクションに記載したファイルは、OS イメージに格納される際、デフォルトでは C 指定となり、圧縮されて格納されます。しかし、圧縮されてしまうと、WEC の loader が .exe を実行できなくなってしまうので、U を指定し、圧縮されないようにする必要があります。
>
> # 現状の設定のままの OS イメージでも、WEC の起動後、/Windows ディレクトリ下から
> # SmartDeviceProject.exe を別のディレクトリへ CopyFile() などでコピーして、コピーした
> # 方の .exe を実行すれば(※コピーする際に、WEC カーネルが伸長してくれるので)、
> # 問題なく動作するのではないかと思います。
>
shkoga
2018年1月9日 10時34分
こんにちは。サムシングプレシャスの古賀です。
西條さん:
>自作のアプリケーションをWindows Embedded Compact7にインストール後も、
>電源をリセットすると自作アプリが消えてしまうのですが、どのようにすれば消えずに残った状態になるのでしょうか?
>ご教示ください。
電源リセットで消えてしまうのは、RAMFS 上にインストールされているからですね。デフォルトでは、WEC の /Windows ディレクトリは RAMFS 上に作成されます。そのため、CAB ファイルなどから /Windows ディレクトリ配下にアプリケーションをインストールしても、消えてしまうのです。
消えずに残るようにするには、次のいずれかの方法をお使い下さい:
・永続記憶域にアプリケーションを配置する。
:FATFS フォーマットの USB メモリを Armadillo-840 に装着すれば、USB MSC クラスドライバと、Armadillo-8x0 用の USB ホストドライバが組み込まれた OS イメージの WEC では、"Hard Disk" というような名前のボリュームとしてマウントされます。この中にアプリケーション(.exe)を配置しておけば、そこから起動できます。
・OS イメージにアプリケーションを組み込む。
:OS Design プロジェクトの .bib ファイル(OSDesign.bib)に、組み込みたいアプリケーションの .exe のエントリを記述して OS イメージをビルドすれば、その .exe が OS イメージに組込まれ、起動後は、/Windows ディレクトリ直下に出現します。
.bib ファイルの書式や記述例については、MSDN にあるリファレンスの、次のページをご覧ください。
Binary Image Builder (.bib) File (Compact 7)
https://msdn.microsoft.com/en-us/library/ee478797(v=winembedded.70).aspx
以上、参考になりましたら幸いです。