Miałem kiedyś Windowsa i programy w Visual C++ działały bez instalacji Microsoft Visual C++ Redistributable Package
Za czasów Visual C++ 6.0 tak było, bo w tej wersji Visual C++ linkował standardowe runtime C właśnie do systemowo-dystrybuowanego msvcrt.dll
. W kolejnych wersjach zrezygnowano z tego pomysłu i pojawiły się redistributable packages dla każdej wersji Visual Studio. Jeżeli używałeś późniejszej wersji to być może jakiś program już je zainstalował.
Drugie pytanie to czy jak piszę program 32-bitowy to wystarczy mieć Redistributable Package w wersji x86, nawet na systemie 64-bitowym (bo program jest 32-bitowy)?
Tak.
Kolejne to moja inwencja twórcza: Zainstalować Microsoft Visual C++ Redistributable Package na Sandboxie i wyciąć te biblioteki z piaskownicy, żeby dodać do katalogu programu. Jest szansa, że zadziała? (zaraz ktoś napisze - spróbuj, hehe).
Tak, zadziała. Powiedziałbym, że nawet była (i może nadal jest) to popularniejsza metoda od instalowania runtime w tle. Ma to swoje plusy i minusy, choć i tak lepsze to niż statyczne linkowanie całego runtime.
Natomiast jeżeli nie korzystasz ze standardowej biblioteki C++ (a tylko C i winapi) to jest jeszcze inna możliwość, a mianowicie linkowanie do systemowego msvcrt.dll
. Plusy są takie, że 1. nie trzeba instalować żadnych runtime, 2. nie trzeba dystrybuować żadnych dodatkowych bibliotek, 3. zachowujesz małą wagę wynikowej binarki. Minus jest taki, że nie da się tego w łatwy sposób zrobić w Visual Studio. msvcrt.dll
pomimo tej samej nazwy jest inne w każdym Windows. Dobra wiadomość jest taka, że toolkit z Windows Driver Kit całkiem dobrze sobie z tym radzi (linkuje np. automatycznie małe libki dla kompatybilności) i produkuje aplikacje, które działają na Windows XP, Vista, 7 i 8. Minus jest taki, że cały toolkit jest trochę przestarzały - musisz korzystać np. z lekko zmodyfikowanego kompilatora z Visual Studio 2008. Podobnego setupu używa Microsoft do budowy własnych aplikacji systemowych.
http://www.microsoft.com/en-us/download/details.aspx?id=11800
Ew. skorzystaj z MinGW, który robi podobnie.