如何在没有Framework 3.5的PC上安装WPF应用程序

如何在没有Framework 3.5的PC上安装WPF应用程序,wpf,frameworks,installation,Wpf,Frameworks,Installation,我有一个关于如何在没有Framework 3.5的情况下将WPF应用程序部署到PC中的问题。 如果一台电脑只安装了Windows XP和sp3,是否可以设计一个安装程序包,直接在这台电脑上安装WPF应用程序? 情况是这样的: 我设计了一个简单的WPF应用程序。我想得到它的安装包。 当海关拿到软件包后,他们可以直接安装应用程序,即使他们的电脑没有安装Framework3.5。 可能吗? 如果可能的话,我该怎么做? //-------------------------------------

我有一个关于如何在没有Framework 3.5的情况下将WPF应用程序部署到PC中的问题。 如果一台电脑只安装了Windows XP和sp3,是否可以设计一个安装程序包,直接在这台电脑上安装WPF应用程序? 情况是这样的: 我设计了一个简单的WPF应用程序。我想得到它的安装包。 当海关拿到软件包后,他们可以直接安装应用程序,即使他们的电脑没有安装Framework3.5。 可能吗? 如果可能的话,我该怎么做? //----------------------------------------------------------- 我发现马特给了我一个建议http://forums.microsoft.com/EmbeddedWindows/ShowPost.aspx?PostID=3967493&SiteID=47>解决方案 这是唯一的解决办法吗?

你可以从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可用于列出所有已安装的程序集。 我曾经尝试在WinPE上运行WPF应用程序,但没有安装.NET。我只是从.NET手动安装了CLR+大约30个DLL。以下是所需的所有文件的列表 2006年10月19日05:13 PM 10752 Accessibility.dll 09/18/2006 01:32 PM 66728 big5.nlp 09/18/2006 01:32 PM 82172 bopomofo.nlp 11/01/2006 10:34 PM 17920 Culture.dll 11/01/2006 10:34 PM 9728 fusion.dll 09/18/2006 01:32 PM 116756 ksc.nlp 11/01/2006 10:34 PM 326656 mscorjit.dll 2006年10月19日下午5:14 4366336 mscorlib.dll 11/01/2006 10:34 PM 330752 mscorrc.dll 11/01/2006 10:34 PM 5632512 mscorwks.dll 09/18/2006 01:32 PM 59342 normidna.nlp 09/18/2006 01:32 PM 45794 normnfc.nlp 09/18/2006 01:32 PM 39284 normnfd.nlp 09/18/2006 01:32 PM 66384 normnfkc.nlp 09/18/2006 01:32 PM 60294 normnfkd.nlp 09/18/2006 01:32 PM 83748 prc.nlp 09/18/2006 01:32 PM 83748 prcp.nlp 11/02/2006 04:36 AM 3915264 PresentationCore.dll 2007年2月23日06:06 PM 184320 PresentationFramework.Aero.dll 2007年2月23日06:06 PM 126976 PresentationFramework.Classic.dll 11/02/2006 04:36 AM 4972544 PresentationFramework.dll 2007年2月23日06:06 PM 376832 PresentationFramework.Luna.dll 09/18/2006 01:32 PM 262148 sortkey.nlp 09/18/2006 01:32 PM 20320 sorttbls.nlp 2006年10月19日05:14 PM 413696 System.configuration.dll 2006年10月19日05:14 PM 3035136 System.dll 2006年10月19日05:14 PM 704512 System.Drawing.dll 2006年10月19日05:14 PM 5414912 System.Windows.Forms.dll 2006年10月19日下午5:14 2039808 System.XML.dll 2007年2月23日06:06下午32768 UIAutomationProvider.dll 2007年2月23日06:06 PM 86016 UIAutomationTypes.dll 11/02/2006 04:36 AM 1167360 WindowsBase.dll 09/18/2006 01:33 PM 28288 xjis.nlp
希望有帮助


Matt

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

  • 会议概况

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

,但现在它们已安装了半认可版本的3.5,除非它们是非常受限的机器,只能运行你的WPF应用程序,否则你已经使它们瘫痪了。我真的不认为这比将框架安装程序引导到安装程序中有什么好处。如果这在运行windows PE的U盘上工作,它肯定会有用。客户端配置文件对于任何发布.net 2应用程序的人来说几乎毫无用处,因为你必须为现有客户发布所有2.5亿个.net 3[.5]。从我的角度来看,这是一个解决问题的方法,这几乎是我遇到的问题,但对我毫无帮助。是的,在.NET4.0发布之前,我无法想象它在实践中会太有用。然后(因为实际上没有人已经安装了它),客户端配置文件应该会使安装变得更精简。我使用这种方法是成功的,但是,有没有办法让应用程序显示在开始->程序菜单上?