2013-01-25 82 views
2

我有兩個關於文件下載和執行過程的問題。我正在創建一個應用程序,下載一些應用程序(如FireFox,WinRar,RealPlayer ..),然後使用Shell命令靜默安裝它們。這是代碼:My.Computer.Network.DownloadFile("URL", "path\file.exe") Shell("path\file.exe /s")文件下載和執行(VB.NET)

問題是shell命令在下載完成之前啓動,所以我得到文件未找到錯誤。所以我的問題是:1)如何在下載完成後執行Shell命令2)我可以使用S參數而不是Shell命令使用process.start嗎?

+0

UAC的目的是從做這個阻止你。 Windows 8的SmartScreen功能將爲您帶來更多障礙。嘗試解決這些設計用於保護用戶機器安全運行的功能是一個非常棘手的問題。 –

回答

0

這應該做的伎倆來下載文件,並等待其結束:

Dim wc As WebClient = New WebClient() 
wc.DownloadFile(sURL, sFile) 
+0

它不會等到下載完成。在下載完成之前正在執行Shell命令。 – user1970090

+0

請參閱[WebClient.DownloadFile](http://msdn.microsoft.com/zh-cn/library/ez801hhe.aspx)。 「_此方法在下載資源_時阻塞」。我不知道你會發生什麼,也許你的URL不正確。這個對我有用。 – SysDragon

+0

好吧,它可以和process.start(「File」,「Parameter」)一起工作,所以原始語句也是如此。但是我想用Shell來代替,你是否用Shell語句試過了? – user1970090