问题描述
|
我在.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 \”);