Niedawno zainstalowałem vs2012
i zaktualizowałem aplikację ClickOnce. Aby być bardziej precyzyjnym, po raz pierwszy otworzyłem mój C++ project
(od którego zależy mój podstawowy projekt C#), nie zaktualizowałem go i wszystko działało dobrze. VS 2012
wciąż było w stanie zobaczyć wstępne wymagania Visual C++ 2010. Później zaktualizowałem swój projekt, zmieniając zestaw narzędzi platformy na "Visual Studio 2012 (v110)"
pod numerem Properties->Configuration Properties->General
.Brakujące wymagania wstępne dotyczące programu Visual C++ w Visual Studio 2012
W międzyczasie zainstalowałem jeszcze jeden software
, a teraz odkryłem, że nie jestem w stanie dodać wstępnego wymagania Visual C++ do mojego projektu do publikacji ClickOnce. Wymaganie Visual C++ 2010 Runtime Libraries (x64)
jest oznaczone żółtym trójkątem i brakuje go. Najlepiej byłoby zaktualizować do wersji Visual C++ 2012 Runtime Libraries x64 (and x86)
, ale nawet tego wymagania wstępnego brakuje.
Przypuszczam, że wynika to z faktu, że w odpowiednim folderze C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\Bootstrapper\Packages
odpowiedni pakiet (vcredist_x64)
jest pusty. Zauważyłem również, że na liście zainstalowanych programów w Panelu sterowania miałem zainstalowane Microsoft Visual C++ 2010 x64
i x86
, zarówno wersję redystrybucyjną, jak i wersję środowiska wykonawczego (prawdopodobnie zainstalowano je wcześniej w Visual Studio 2010), podczas gdy ja brakowało mi Visual Pliki w C++ 2012. Dlatego twierdzę, że Visual C++ 2012 nie pojawił się razem z Visual Studio 2012, prawda? Ja nawet nie próbował zainstalować pakiety Visual C++ 2012 Redistributable x64 przez ich pobierania i teraz są one wymienione w moich zainstalowanych programów 8only do redystrybucji, a nie wersji Runtime).
Jednak wciąż nie ma wymagań wstępnych. Jak mogę to rozwiązać? Pomyślałem nawet o ręcznym skopiowaniu pakietu bootstrapper dla Visual C++ 2010 znajdującego się w ... \v7.0A\Bootstrapper\Packages
folderze i zmieniającym go ręcznie dla C++ 2012, ale nie wiem, co powinienem napisać w product.xml
pod <MsiProductCheck Property="VCRedistInstalled" Product=?>
. Wygląda na to, że identyfikator GUID produktu do wstawienia tych informacji można uzyskać za pomocą Bootstrapper Manager, ale ten program rzuca wyjątek i nie wiem, jak to zrobić. Drugim rozwiązaniem jest bezpieczne skopiowanie pakietu Visual C++ 2010 z wersji \\v7.0A\Bootstrapper\Packages\Bootstrapper\Packages to \v8.0A\Bootstrapper\Packages
?
Dzięki, jak o plik vcredist_x64.exe? – Berezh
Odpowiedź Noama jest poprawna, z tym że msbuild nie lubi dwóch kopii linii "xml version ...". Usunąłem jeden i mogłem uruchomić msbuild na skrypcie, aby utworzyć plik instalacyjny. –