FOG Snapin Client download error
-
@Wayne-Workman said in FOG Snapin Client download error:
@Timo Am I correct in assuming you can now upload the snapin to FOG, but the client will not download it?
Yes!
-
@Timo Ok then… apologies, it wasn’t totally clear to me. I’m informing @Jbob about it to see what he says then.
-
Redirecting ping to @Tom-Elliott, this is most likely a server issue.
-
@Timo said:
…Section=ResponseHeader Detail=“Content-Length”-Headerwert ist ungültig…
This translates to “value of Content-Length header is invalid”! Possibly .Net does not like such a big value??
-
Good Morning, this MOrning i’ve updated to latest GIT 7242. Now when i try to download the Snapin via Basic Task “Single Snapin” it comes up in the Log with " Unable to hash file, The file is too long. This process currently only supports files with a size of less than 2 GB.
So i think at this time it is not possible… !!!
-
@Sebastian-Roth said in FOG Snapin Client download error:
@Timo said:
…Section=ResponseHeader Detail=“Content-Length”-Headerwert ist ungültig…
This translates to “value of Content-Length header is invalid”! Possibly .Net does not like such a big value??
Is it possible to increase that? If so, where i can change that value?
-
@Timo Can you simply try updating? I removed the Content-Length setter in hopes that is all it takes to fix the issue at hand.
-
@Tom-Elliott said in FOG Snapin Client download error:
@Timo Can you simply try updating? I removed the Content-Length setter in hopes that is all it takes to fix the issue at hand.
I#ve just updated to 7246 via GIT, but unfortunately the same error in Log, unable to hash File, The file is too long. This process currently only supports files with a size of less than 2 GB.
-
GIT 7248 the same…just forgot one thing from the Error Log Service Error:“Object reference not set to an object instance”
-
@Timo Can you please post the full error you see (line number, …). Maybe even post a picture.
-
Sure i can, thx for your help, i really appreciate it
-
@Timo This seems to be a restriction in C# following the discussion here: http://www.codeproject.com/Questions/142532/appending-and-splitting-files-larger-than-gb
Possibly this is only happening because you have 32 bit Windows installed?? Please check! Or this might be a general restriction and we need to read large snapin files as chunks, @Jbob?
-
@Sebastian-Roth said in FOG Snapin Client download error:
@Timo This seems to be a restriction in C# following the discussion here: http://www.codeproject.com/Questions/142532/appending-and-splitting-files-larger-than-gb
Possibly this is only happening because you have 32 bit Windows installed?? Please check! Or this might be a general restriction and we need to read large snapin files as chunks, @Jbob?
Hi Sebastian, no the Client runs an Windows 7 x64 Installation
-
@Timo the original header problem is fixed. @Sebastian-Roth is correct in that the hashing error is a limitation of c#. I’ll see what I can do.
-
@Timo for now you could set the snapin file to a batch script which downloads the exe from a samaba share or something and runs it.
-
@Jbob said in FOG Snapin Client download error:
@Timo for now you could set the snapin file to a batch script which downloads the exe from a samaba share or something and runs it.
Hi Jbob thx for your help. How can i realize that? I’ve an Synology NAS where i can store that, do you have an example script, maybe?
-
@Timo Batch lacks the ability to download a file natively. Here is a vbs script which should do what you are looking for.
Save the code as “Bootstrap.vbs”, and update the
http://fog-server/MyProgram.exe
line to reflect a real URL where your snapin can be downloaded, the easiest way may be to just copy your snapin file to/var/www/html/
, and then it is accessible viahttp://{fog-server}/MyProgram.exe
, where Myprogram.exe is the file name. Also update references toMyProgram.exe
to your program’s file name.Note that this code is untested.
Use the following snapin settings:
Snapin Run With: cscript
Snapin Run With Args: //B //Nologo
Snapin File: Bootstrap.vbs
Bootstrap.vbs code:
'http://www.robvanderwoude.com/vbstech_internet_download.php HTTPDownload "http://fog-server/MyProgram.exe", "C:\" Dim objShell Set objShell = WScript.CreateObject( "WScript.Shell" ) objShell.Run("C:\MyProgram.exe") Set objShell = Nothing Dim fso Set fso = CreateObject("Scripting.FileSystemObject") fso.DeleteFile("C:\MyProgram.exe") Set fso = Nothing Sub HTTPDownload( myURL, myPath ) ' This Sub downloads the FILE specified in myURL to the path specified in myPath. ' ' myURL must always end with a file name ' myPath may be a directory or a file name; in either case the directory must exist ' ' Written by Rob van der Woude ' http://www.robvanderwoude.com ' ' Based on a script found on the Thai Visa forum ' http://www.thaivisa.com/forum/index.php?showtopic=21832 ' Standard housekeeping Dim i, objFile, objFSO, objHTTP, strFile, strMsg Const ForReading = 1, ForWriting = 2, ForAppending = 8 ' Create a File System Object Set objFSO = CreateObject( "Scripting.FileSystemObject" ) ' Check if the specified target file or folder exists, ' and build the fully qualified path of the target file If objFSO.FolderExists( myPath ) Then strFile = objFSO.BuildPath( myPath, Mid( myURL, InStrRev( myURL, "/" ) + 1 ) ) ElseIf objFSO.FolderExists( Left( myPath, InStrRev( myPath, "\" ) - 1 ) ) Then strFile = myPath Else WScript.Echo "ERROR: Target folder not found." Exit Sub End If ' Create or open the target file Set objFile = objFSO.OpenTextFile( strFile, ForWriting, True ) ' Create an HTTP object Set objHTTP = CreateObject( "WinHttp.WinHttpRequest.5.1" ) ' Download the specified URL objHTTP.Open "GET", myURL, False objHTTP.Send ' Write the downloaded byte stream to the target file For i = 1 To LenB( objHTTP.ResponseBody ) objFile.Write Chr( AscB( MidB( objHTTP.ResponseBody, i, 1 ) ) ) Next ' Close the target file objFile.Close( ) End Sub
-
I’d opt for a batch file still as a stop-gap.
use xcopy to get the file. it supports UNC paths.
-
@Jbob said in FOG Snapin Client download error:
@Timo Batch lacks the ability to download a file natively. Here is a vbs script which should do what you are looking for.
Save the code as “Bootstrap.vbs”, and update the
http://fog-server/MyProgram.exe
line to reflect a real URL where your snapin can be downloaded, the easiest way may be to just copy your snapin file to/var/www/html/
, and then it is accessible viahttp://{fog-server}/MyProgram.exe
, where Myprogram.exe is the file name. Also update references toMyProgram.exe
to your program’s file name.Note that this code is untested.
Use the following snapin settings:
Snapin Run With: cscript
Snapin Run With Args: //B //Nologo
Snapin File: Bootstrap.vbs
Bootstrap.vbs code:
'http://www.robvanderwoude.com/vbstech_internet_download.php HTTPDownload "http://fog-server/MyProgram.exe", "C:\" Dim objShell Set objShell = WScript.CreateObject( "WScript.Shell" ) objShell.Run("C:\MyProgram.exe") Set objShell = Nothing Dim fso Set fso = CreateObject("Scripting.FileSystemObject") fso.DeleteFile("C:\MyProgram.exe") Set fso = Nothing Sub HTTPDownload( myURL, myPath ) ' This Sub downloads the FILE specified in myURL to the path specified in myPath. ' ' myURL must always end with a file name ' myPath may be a directory or a file name; in either case the directory must exist ' ' Written by Rob van der Woude ' http://www.robvanderwoude.com ' ' Based on a script found on the Thai Visa forum ' http://www.thaivisa.com/forum/index.php?showtopic=21832 ' Standard housekeeping Dim i, objFile, objFSO, objHTTP, strFile, strMsg Const ForReading = 1, ForWriting = 2, ForAppending = 8 ' Create a File System Object Set objFSO = CreateObject( "Scripting.FileSystemObject" ) ' Check if the specified target file or folder exists, ' and build the fully qualified path of the target file If objFSO.FolderExists( myPath ) Then strFile = objFSO.BuildPath( myPath, Mid( myURL, InStrRev( myURL, "/" ) + 1 ) ) ElseIf objFSO.FolderExists( Left( myPath, InStrRev( myPath, "\" ) - 1 ) ) Then strFile = myPath Else WScript.Echo "ERROR: Target folder not found." Exit Sub End If ' Create or open the target file Set objFile = objFSO.OpenTextFile( strFile, ForWriting, True ) ' Create an HTTP object Set objHTTP = CreateObject( "WinHttp.WinHttpRequest.5.1" ) ' Download the specified URL objHTTP.Open "GET", myURL, False objHTTP.Send ' Write the downloaded byte stream to the target file For i = 1 To LenB( objHTTP.ResponseBody ) objFile.Write Chr( AscB( MidB( objHTTP.ResponseBody, i, 1 ) ) ) Next ' Close the target file objFile.Close( ) End Sub
Hi there, at this moment i’m trying your script but i think it hangs in the download it now takes over 10 minutes, but i have no status window what is happening. The download from my fogserver manually tested runs fine
-
If i run it on the Client in an Dos box , with cscript bootstrap.vbs it comes up with an error after a few seconds "WinHttp.WinHttpRequest: For this operation is not enough memory available But has enough free Memory (60GB)