我生成了一个个人证书文件*.cer,用它签署了我的CAB文件,并在Windows Mobile6.5上安装了这个证书。我想静默地在设备上安装此CAB。我称之为"wceload.exe /silent MyCab.CAB“。问题是/silent开关不工作--我得到的提示是确认安装CAB,而我希望/silent开关自己确认所有提示。此外,我希望避免出现“已安装以前版本的...”对话框。如果我的出租车之前已经安装好了。有办法在Windows Mobile上做到这一点吗?我尝试将注册表项HKLM/Software/Apps/My App/Instl设置为0,但不起作用。任何帮助都是非常感谢的。
问候
发布于 2011-04-05 22:24:17
在安装证书之后,在运行wceload之前,您是否尝试过热启动
您可以尝试使用/silent参数将/noui添加到命令行中,尽管这应该是针对遗留应用程序的。http://msdn.microsoft.com/en-us/library/bb158700.aspx
但是,您可能需要受信任的证书。您可以通过将[HKLM]\Security\Policies\Policies从DWORD0更改为DWORD1来禁用此要求。
另请参阅:
发布于 2011-09-13 13:41:20
我的CAB没有签名,但以下方法适用于我在WM 6.5上完全静默安装(没有任何UI -我在安装期间显示忙碌的光标)。安装是在现有安装之上以编程方式执行的(使用Process类的c#)。
wceload /nodelete /silent "\Storage Card\Blah\Blah.CAB"我有点惊讶,因为这里的医生: http://msdn.microsoft.com/en-us/library/bb158700.aspx说:
如果.cab文件未签名,并且您在调用wceload时指定了/silent或/noui选项,则wceload可能会忽略这些选项。
我猜它应该是‘可能忽略或不忽略这些选项’;)
完整的C#代码如下:
Cursor.Current = Cursors.WaitCursor;
try
{
using (Process proc = new Process())
{
proc.StartInfo = new ProcessStartInfo("wceload", string.Format("/nodelete /silent \"{0}\"", cabFile));
if (proc.Start())
{
proc.WaitForExit();
}
}
}
finally
{
Cursor.Current = Cursors.Default;
}https://stackoverflow.com/questions/5213111
复制相似问题