vApp upload logic