windows mobile 6.5 CAB 签名和 wceload /silent 问题

发布于 2024-10-21 02:38:46 字数 335 浏览 2 评论 0原文

我生成了个人证书文件 *.cer,用它签署了我的 CAB 文件,并在 Windows Mobile 6.5 上安装了此证书。我想在设备上静默安装此 CAB。我打电话 “wceload.exe /silent MyCab.CAB”。问题是 /silent 开关不起作用 - 我收到提示确认 CAB 的安装,而我期望 /silent 开关本身会确认所有提示。此外,如果我的 CAB 之前已经安装过,我希望避免出现“先前版本的...已安装...”对话框。有没有办法在 Windows Mobile 上做到这一点?我尝试将注册表项 HKLM/Software/Apps/My App/Instl 设置为 0,但它不起作用。 任何帮助表示赞赏。

问候

I generated a personal certificate file *.cer, signed my CAB file with it, installed this certificate on Windows Mobile 6.5. I want to silently install this CAB on the device. I call
"wceload.exe /silent MyCab.CAB". The problem is that the /silent switch is not working - I get prompted for ack the installation of CAB while I'm expecting the /silent switch will ack all prompts itself. Additionally I'd like to avoid the dialog "The previous version of ... is installed..." if my CAB has been already installed before. Is there a way to do it on Windows Mobile? I tried setting the registry key HKLM/Software/Apps/My App/Instl to 0 but it is not working.
Any help is appreciated.

Regards

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

浮光之海 2024-10-28 02:38:46

自安装证书以来,在运行 wceload 之前,您是否尝试过热启动?

您可以尝试使用 /silent 参数将 /noui 添加到命令行,尽管这应该适用于旧版应用程序。 http://msdn.microsoft.com/en-us/library/bb158700.aspx

但是,您可能需要受信任的证书。您可以通过将 [HKLM]\Security\Policies\Policies 从 [DWORD] 0 更改为 [DWORD] 1 来禁用此要求。

另请参阅:

have you tried warm-booting since the certificate was installed, and before you run wceload?

You could try adding /noui to your command-line with the /silent parameter, though that's supposed to be for legacy applications. http://msdn.microsoft.com/en-us/library/bb158700.aspx

But, you might be needing a Trusted Certificate. You can disable this requirement by changing [HKLM]\Security\Policies\Policies from [DWORD] 0 to [DWORD] 1.

see also:

不离久伴 2024-10-28 02:38:46

我的 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;
}

My CAB isn't signed, yet the following method works for me on WM 6.5 to install totally silently (no UI whatsoever - I show a busy cursor during the install). The install is performed programmatically (c# using the Process class) over the top of the existing install.

wceload /nodelete /silent "\Storage Card\Blah\Blah.CAB"

I was a bit surprised as the doc here: [http://msdn.microsoft.com/en-us/library/bb158700.aspx] says:

If the .cab file is not signed, and you specify the /silent or /noui options when calling wceload, wceload may ignore these options.

I guess it should say 'may or may not ignore these options' ;)

Full C# code below:

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;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文