A method of incorporating malware scanning within an application streaming system, comprising: receiving an identifier of an application to be streamed; identifying blocks of code of the application necessary for executing the application, each block comprising code for a unit of the application; responsive to not having received the identified blocks of code, requesting, from a remote application streaming server, the identified blocks of code; receiving a plurality of streamed blocks of the application from the remote application streaming server, each block having metadata comprising an indication of a byte range of the application that the block represents; for each streamed block of the plurality of the streamed blocks: determining whether the streamed block contains an indication that the application has been found to be free of malware; responsive at least in part to the streamed block not containing an indication that the application has been found to be free of malware: halting execution of the code comprised by the streamed block; receiving all blocks of the application; responsive to receiving all the blocks of the application, scanning the code in the blocks to determine whether the application contains malware; and permitting execution of the code comprised by the streamed block, responsive to the scanning determining that the scanned code does not contain malware; and responsive at least in part to the streamed block containing an indication that the application has been found to be free of malware, permitting execution of the code comprised by the streamed block. receiving an identifier of an application to be streamed; identifying blocks of code of the application necessary for executing the application, each block comprising code for a unit of the application; responsive to not having received the identified blocks of code, requesting, from a remote application streaming server, the identified blocks of code; receiving a plurality of streamed blocks of the application from the remote application streaming server, each block having metadata comprising an indication of a byte range of the application that the block represents; for each streamed block of the plurality of the streamed blocks: determining whether the streamed block contains an indication that the application has been found to be free of malware; responsive at least in part to the streamed block not containing an indication that the application has been found to be free of malware: halting execution of the code comprised by the streamed block; receiving all blocks of the application; responsive to receiving all the blocks of the application, scanning the code in the blocks to determine whether the application contains malware; and permitting execution of the code comprised by the streamed block, responsive to the scanning determining that the scanned code does not contain malware; and responsive at least in part to the streamed block containing an indication that the application has been found to be free of malware, permitting execution of the code comprised by the streamed block. determining whether the streamed block contains an indication that the application has been found to be free of malware; responsive at least in part to the streamed block not containing an indication that the application has been found to be free of malware: halting execution of the code comprised by the streamed block; receiving all blocks of the application; responsive to receiving all the blocks of the application, scanning the code in the blocks to determine whether the application contains malware; and permitting execution of the code comprised by the streamed block, responsive to the scanning determining that the scanned code does not contain malware; and halting execution of the code comprised by the streamed block; receiving all blocks of the application; responsive to receiving all the blocks of the application, scanning the code in the blocks to determine whether the application contains malware; and permitting execution of the code comprised by the streamed block, responsive to the scanning determining that the scanned code does not contain malware; and responsive at least in part to the streamed block containing an indication that the application has been found to be free of malware, permitting execution of the code comprised by the streamed block.