It is not an infield fly until the ump says it is so the batter is not instantly out until then. And then only conditionally out. The runners, however, can advance at their own risk. When the ump rules it an infield fly the runners do not have to go back to their bases. If it falls fair they can advance at their own risk. So yes there can be a double play on an infield fly.
If the ball is an infield fly the only “condition” is if it’s a foul ball, in which case it was never an infield fly in the first place. Infield flies aren’t conditional.
Thank of it this way; what makes a batter out when he hits a ground ball and is thrown out at first? The act of a fielder in possession of a ball touching the base; that is the moment the batter-runner is out. It doesn’t matter if the ump waits a few seconds to say “out” (which they sometimes do if it’s a clear play) - the batter-runner was out at the instant that a fielder in control of the ball was touching the base. Indeed, the delay between that action and the call could be a few minutes, if they use instant replay. Furthermore, the batter-runner could be called and it may be discovered later that the “out” call was not valid - either though instant replay or just something more conventional, like the ump calls “out” and then notices the fielder actually dropped the ball, and so reverses his call, which happens. In such a case the batter-runner was never out in the first place.
That’s the condition I was referring to, and the ump calls “Infield fly if fair.” The infield fly is a special rule and is not the same as a runner being out at a base. It is not an “infield fly” unless the ump calls it. Sometimes the ump will call it on an outfield fly if he believes an infielder can catch it. The ball is not dead however, and runners can advance at their own risk. If no ump calls “infield fly” the ball is not subject to the rule.