Late answer, I know, but the other answer is talking about Windows Sideshow Gadgets, and your question is related to Windows Desktop Gadgets. Rather than Shell Executing the .gadget package, which would prompt the user, on Windows 7 you can use the IDesktopGadget interface in the Windows APIs.
A description of the RunGadget method and sample code for C++ is offered here:
http://msdn.microsoft.com/en-us/library/dd378390(VS.85).aspx
If you're using .NET, refer to a previous question I asked for how to implement the IDesktopGadget interface:
Stack Overflow - C#: Referencing a windows shell interface
For backwards compatibility (Vista), I would recommend you fall back to the shell execute method.