C#.NET 3.5 Windows应用程序也需要在未安装计算机的.NET FRAMEWORK中运行

问题描述

| 我在.net framework 3.5中开发了一个Windows应用程序,如果我使用setup exe,它在所有机器上都可以正常工作。因为,在设置中,我添加了prerequest .net framework 3.5。因此,安装程序将检查本地PC是否具有.net framework 3.5。如果没有,则先执行先要求,然后再进行其余设置。这样,创建的Windows应用程序exe可以正常工作。 但是我客户的要求是,他们还没有准备好在每台evey机器上安装安装程序,他们只是告诉他们仅复制粘贴bin文件夹的内容。在该bin文件夹内,我们可以使用任意数量的exe \或dll等。但是在该bin文件夹中,我们只能使用一个SHORT CUT,并且快捷方式名称应为\“ UserClickHere \”。 用户始终仅单击\“ UserClickHere \”快捷方式。该快捷方式需要在第一次打开Setup.exe,然后从下一次开始打开Windows应用程序。 (注意:-第一次安装setup.exe之后,我们的Windows应用程序exe应该会自动打开)。 这是我的要求,任何人都可以给我示例代码。 提前致谢。     

解决方法

        这是您的解决方案: 您必须制作一个快捷方式将指向的其他应用程序(最好是不受管理的) 此应用程序首先检查是否已安装.NET Framework 3.5 SP1: int版本=(int)Registry.LocalMachine.GetValue(@ \“ Software \\ Microsoft \\ NET Framework Setup \\ NDP \\ v3.5 \”,\“ SP \”,(int)0); 如果版本小于1,则应下载并安装框架: WebClient客户端=新的WebClient(); client.DownloadFile(\“ http://download.microsoft.com/download/0/6/1/061f001c-8752-4600-a198-53214c69b51f/dotnetfx35setup.exe \”,\“ dotnetfx35sp1.exe \”); Process.Start(\“ dotnetfx35sp1.exe \”,\“ / lang:enu / qb / norestart \”)。WaitForExit(); 现在,您可以运行WPF应用程序: Process.Start(\“ MyApp.exe \”);