3.24.2010

一團混亂的 *.reg 設定

platform builder 裡有一堆 registry 設定 (*.reg)
registry 設定同一個 path 的 value 可以設定很多次,platform builder 會以最後一個為準
(也就是說,後來設的會 overwrite 前面的)

所以你要是在某 *.reg 中看到某個 key 設定,也不代表真正 build 出來的 image 的 key 會是這個值。
或許,某個 *.reg,或是同一個 *.reg 的後面設定,又把這個 key 改了..
...真是個災難呀..

但是 MSDN 說(http://msdn.microsoft.com/en-us/library/ee490779.aspx)
Platform.reg 會 overwrite Project.reg 和 Common.reg。
Project.reg 會 overwrite Common.reg
要看最後build 出來的 reg ,可以到 %_FLATRELEASEDIR% 的 reginit.ini 去看
.. 當然,這要在 build 出 image 後才會有

2 則留言:

Kun-Yi 提到...

我覺的 override registry 是 wince 的優點呀
除了一種狀況外

不過CE 不會遇到
Windows mobile 才會遇到
Mobile 會有一些 prebuild package
它有可能會在 Makeimg 時又去 override
而且是 reginit.ini 內看不出來的 T_T

不過M$又提供了另外一個機制在first boot 時可以在去 override 一次, 叫做 Provisioning, 用 透過某些命名規則的 XML 去 override

Checko 提到...

果然是我自己半桶水,所以不了解overwrite好用的地方 XD


我沒有作過WM,不然我一定又抱怨一堆 ..