【问题标题】:How to install WPF application to a PC without Framework 3.5如何在没有 Framework 3.5 的情况下将 WPF 应用程序安装到 PC
【发布时间】:2008-10-10 13:23:34
【问题描述】:

我有一个关于如何在没有 Framework 3.5 的情况下将 WPF 应用程序部署到 PC 的问题。 如果一台PC只安装了Windows XP和sp3,是否可以设计一个安装包,可以直接在这台PC上安装WPF应用程序?

情况是这样的:

我设计了一个简单的 WPF 应用程序。我想得到它的安装包。 海关拿到包后,可以直接安装应用程序,即使他们的PC没有安装Framework3.5。

是否可以? 如果可能,我该怎么做?

//------------------------------------------------ ------------

我发现马特给了一个 http://forums.microsoft.com/EmbeddedWindows/ShowPost.aspx?PostID=3967493&SiteID=47>solution 它是唯一的解决方案吗?

您可以从 GAC 中删除您不使用的 .NET 程序集,只要您测试您的应用程序以确保您不会削减太多。大多数 .NET 程序集是 Win32 API 之上的包装器,因此可以在不影响操作系统的情况下删除它们。

  • 您可以通过查看开发计算机上 Visual Studio 解决方案资源管理器中的“引用”节点来获取正在使用的程序集的列表。所有依赖项都存在(如果程序集 A 依赖于程序集 B,则 A 和 B 都在列表中)但是有一些程序集属于运行时本身,例如 Accessibility.dll,请参见下面的列表。
  • 确保使用 gacutil.exe(可以从 Visual Studio 命令提示符调用)来删除程序集。启动嵌入式映像并安装 .NET 后,您必须运行 gacutil。只需从 Visual Studio 复制 SDK\v2.0\bin 文件夹
  • gacutil.exe /l 可用于列出所有已安装的程序集。 我曾经尝试在没有安装 .NET 的情况下在 WinPE 上运行 WPF 应用程序。我只是从 .NET 手动安装 CLR + 大约 30 个 dll。这是所需的所有文件的列表 10/19/2006 05:13 PM 10,752 Accessibility.dll 09/18/2006 01:32 PM 66,728 big5.nlp 09/18/2006 01:32 PM 82,172 bopomofo.nlp 2006 年 11 月 1 日晚上 10:34 17,920 Culture.dll 2006 年 11 月 1 日晚上 10:34 9,728 fusion.dll 2006 年 9 月 18 日下午 1:32 116,756 ksc.nlp 2006 年 11 月 1 日晚上 10:34 326,656 mscorjit.dll 2006 年 10 月 19 日下午 5:14 4,366,336 mscorlib.dll 2006 年 11 月 1 日晚上 10:34 330,752 mscorrc.dll 2006 年 11 月 1 日晚上 10:34 5,632,512 mscorwks.dll 09/18/2006 01:32 PM 59,342 normidna.nlp 09/18/2006 01:32 PM 45,794 normnfc.nlp 09/18/2006 01:32 PM 39,284 normnfd.nlp 09/18/2006 01:32 PM 66,384 normnfkc.nlp 09/18/2006 01:32 PM 60,294 normnfkd.nlp 09/18/2006 01:32 PM 83,748 prc.nlp 09/18/2006 01:32 PM 83,748 prcp.nlp 2006 年 11 月 2 日上午 04:36 3,915,264 PresentationCore.dll 02/23/2007 06:06 PM 184,320 PresentationFramework.Aero.dll 02/23/2007 06:06 PM 126,976 PresentationFramework.Classic.dll 2006 年 11 月 2 日 04:36 AM 4,972,544 PresentationFramework.dll 02/23/2007 06:06 PM 376,832 PresentationFramework.Luna.dll 09/18/2006 01:32 PM 262,148 sortkey.nlp 09/18/2006 01:32 PM 20,320 sorttbls.nlp 2006 年 10 月 19 日下午 5:14 413,696 System.configuration.dll 2006 年 10 月 19 日下午 5:14 3,035,136 System.dll 2006 年 10 月 19 日下午 5:14 704,512 System.Drawing.dll 2006 年 10 月 19 日下午 5:14 5,414,912 System.Windows.Forms.dll 2006 年 10 月 19 日下午 5:14 2,039,808 System.XML.dll 02/23/2007 06:06 PM 32,768 UIAutomationProvider.dll 02/23/2007 06:06 PM 86,016 UIAutomationTypes.dll 11/02/2006 04:36 AM 1,167,360 WindowsBase.dll 09/18/2006 01:33 PM 28,288 xjis.nlp

希望有帮助

马特

【问题讨论】:

  • 但是现在他们安装了一个半成品的 3.5 版本,除非它们是非常受限的机器,只能运行你的 WPF 应用程序,否则你已经削弱了它们。我真的看不出这比将框架安装程序引导到您的安装程序有什么优势。
  • 如果这在运行 windows PE 的 USB 记忆棒上有效,它肯定会有用

标签: wpf frameworks installation


【解决方案1】:

Visual Studio 2008 SP1 添加了对 .NET Framework 的“客户端配置文件”子集的支持。如果您的目标 Windows XP SP3 计算机尚未安装任何版本的 .NET Framework,这将安装一个精简版的 Framework,其中包含 WPF 应用程序所需的程序集。 Microsoft 提供了一个引导安装程序,它将在客户端计算机上安装/更新 .NET Framework,然后链接到您的安装程序以安装您的应用程序。以下是一些入门链接:

【讨论】:

  • 客户端配置文件对于任何发布 .net 2 应用程序的人来说几乎完全没用,因为您必须为现有客户发布全部 250M 的 .net 3[.5]。从我坐的位置来看,这是一个解决问题的方法,几乎​​是我遇到的问题,但对我没有任何帮助。
  • 是的,我无法想象在 .NET 4.0 发布之前它在实践中会有多大用处。然后(因为几乎没有人会安装它),客户端配置文件应该使安装更精简。
  • 我在使用这种方法时成功了,但是,有没有办法让应用程序出现在开始 -> 程序菜单上?
【解决方案2】:

当您使用 ClickOnce 时,在项目属性的部署选项中,将所需的程序集设置为包含,然后如果您确实需要一些程序集,请使用 gacutil.exe 或拖放到客户端本地 GAC 上

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-12
    • 1970-01-01
    • 2018-06-17
    • 1970-01-01
    • 2012-09-17
    相关资源
    最近更新 更多