WPF 和 ClickOnce

2024-05-28

MSDN 未将 WPF .exe 列为 ClickOnce 支持的应用程序类型

ClickOnce 应用程序是任何 Windows Presentation Foundation (.xbap)、Windows 窗体 (.exe)、控制台应用程序 (.exe) 或 Office 使用 ClickOnce 技术发布的解决方案 (.dll)。

http://msdn.microsoft.com/en-us/library/t71a733d.aspx http://msdn.microsoft.com/en-us/library/t71a733d.aspx

我确实在网络上找到了非 XBAP WPF 应用程序可与 ClickOnce 配合使用的证据,但它们是否得到官方支持?


是的,ClickOnce 确实支持将 WPF 应用程序编译为可执行文件。 ClickOnce只不过是一种安装分发方法。创建安装包和 ClickOnce(除了基于 Web 之外)之间的主要区别在于 ClickOnce 应用程序安装在最终用户的 Windows 目录中的模糊文件夹中。

这意味着可以使用非管理员帐户安装 ClickOnce 应用程序。此方法需要注意的是,应用程序无法安装在 PC 上并在 PC 上的其他用户帐户之间共享 - 每个用户都必须重新安装该应用程序。

WPF 需要 .NET 3.0+ 框架。当您发布 ClickOnce 应用程序时,您将需要包含 .NET 3.0(或 4.0)框架。将先决条件添加到项目后,ClickOnce 将检查用户的 PC 以查看是否安装了框架。如果没有,它将在安装和运行您的应用程序之前预安装它。如果已经存在,将跳过框架的下载和安装。

如果您需要安装第三方库或应用程序,可以创建自定义先决条件并将其添加到您的项目中。值得注意的是,先决条件可能需要由管理员安装,具体取决于最终用户的权限。这可能看起来有点违反直觉,但这只是安装过程的本质。

ClickOnce 是一种非常简单但强大的安装机制,我已经广泛使用了它。它并不适合所有情况,但它肯定可以满足您的要求。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WPF 和 ClickOnce 的相关文章

  • 获取登录用户的 AppData\Local 文件夹

    我目前正在使用 Environment GetFolderPath Environment SpecialFolder LocalApplicationData 检索当前用户的AppData Local小路 该程序需要提升的权限 并且在标准
  • XAML中无限旋转矩形

    如何定义XAML无限旋转矩形 到目前为止 我找到了一个带有代码但没有 xaml 的解决方案 http www codeproject com Articles 23257 Beginner s WPF Animation Tutorial
  • 如何覆盖全局样式(没有 x:Key),或者将命名样式应用于所有类型目标控件?

    我声明了一个要应用于项目中所有按钮的样式 该样式位于 ResourceDictionary 中 现在 在某个窗口中 我想继承此样式但添加一个值
  • WPF 在 .NET Framework 4.0 中的 x64 上启动缓慢

    我注意到 如果我为任何 CPU x64 构建 WPF 应用程序 则与在 x86 上启动 在发布和调试模式下 相比 启动 大约 20 秒 或加载新控件所需的时间要长得多 VS 的内部或外部 即使是最简单的 WPF 应用程序也会出现这种情况 该
  • 访问 ControlTemplate 内的控件

    这是 xaml
  • 给 MVVM 中的 View 一些命令

    假设我有一些用户控制权 用户控件有一些子窗口 用户控制用户想要关闭某种类型的子窗口 用户控制代码后面有一个方法 public void CloseChildWindows ChildWindowType type 但我无法调用此方法 因为我
  • 打印 WPF 位图图像

    打印位图图像的最佳方法是什么 我有 System Drawing 背景 所以我正在考虑将其转换为位图 然后打印它 但我认为可能有更好的方法 Thanks 根据 Drew 的回答 最好测量并安排传递给 PrintVisual 方法的容器 这将
  • 获取上下文菜单的控制

    我有一个如下所示的上下文菜单 A 1 2 3 选择 1 2 或 3 后 我需要访问调用上下文菜单的对象 意思是如果这是 textbox1 的上下文菜单 那么我需要访问该对象 我该怎么做 忘了说了 这是一个WPF应用程序 所以我使用 Syst
  • 在wpf中移动鼠标

    我目前正在寻找一种在 wpf 中移动鼠标的方法 我发现的只是我无法可靠实现的非托管方法调用 有没有一种简单的方法可以将鼠标光标移动到某个地方 即 双击后 我肯定在这里遗漏了一些东西 添加对System Windows Forms dll的引
  • 如何使用 CancellationTokenSource 关闭另一个线程上的对话框?

    这与我的另一个问题有关如何取消后台打印 https stackoverflow com questions 40987113 how to correctly cancel a printing task running on a back
  • 绑定到布尔值的可见性的 TargetNullValue

    我有一个Grid whose Visibility使用以下方法将属性绑定到某个模型的布尔属性Converter
  • 如何从“埃尔米特”曲线转换为贝塞尔曲线?

    正如主题所述 如何从 Hermite 曲线转换为 Bezier 曲线 具体来说 我正在寻找一种方法来转换 Microsoft XNA Framework 的 Curve 类 使用 Hermite 插值 以便使用 Windows Presen
  • 如何动态设置 WPF DataGridCell 样式

    我有一个 DataGrid 其 itemsSource 定义如下 dg ItemsSource new ObservableCollection
  • WPF 绑定无法与 int 类型的属性正常工作

    我拥有以下财产int输入我的视图模型 该模型绑定到TextBox 一切正常 TwoWay绑定工作正常 除了一种情况 如果我清除的值TextBox 属性设置器不会被调用 尽管值已被清除TextBox 属性仍保持先前的值 有人遇到过类似的问题吗
  • WPF 数据触发器和故事板

    当视图模型 演示模型繁忙时 我试图触发进度动画 我有一个 IsBusy 属性 并将 ViewModel 设置为 UserControl 的 DataContext 当 IsBusy 属性为 true 时 触发 progressAnimati
  • 将 WPF 属性数据绑定到变量

    我有一个 WPF 4 和 VB net 2010 中的项目 我想将媒体元素的音量属性绑定到另一个模块中的变量 请注意 变量的数据类型正确 因此无需转换 我该怎么做呢 首先 确保您的后台代码实现了 INotifyPropertyChanged
  • MVVM 同步集合

    是否有一种标准化方法可以将 Model 对象集合与 C 和 WPF 中匹配的 ModelView 对象集合同步 我正在寻找某种类 可以使以下两个集合保持同步 假设我只有几个苹果 并且可以将它们全部保存在内存中 换句话说 我想确保如果我将 A
  • WPF MVVM后台打印数据绑定问题

    我正在使用 wpf mvvm 开发一个销售点应用程序 在交易生命周期的许多阶段 都会在后台打印收据 我已经使用其他示例在后台生成和打印收据 我正在后台打印一个 UserControl 一切看起来都很棒 然后 我为该控件创建了 ViewMod
  • 帮助我在 xaml 中定义 UI [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 这是我将
  • 用户控件上的焦点和 TabIndex

    我有一个奇怪的行为 我有一个包含文本框和 简单 用户控件 文本框和按钮 的主窗口 但出于调试目的 我将其剥离为仅一个文本框 当我使用文本框和用户控件而不设置 TabIndex 属性时 光标按正确的顺序遍历控件 按照控件添加到窗口的顺序 当我

随机推荐