Używam instalatora VS2008 (plus niestandardowa akcja Orca) do utworzenia instalatora dla mojego produktu .NET.W jaki sposób mogę zainstalować instalator x64 na moim VS2008 x86?
Niedawno dowiedziałem się, że jeden z zewnętrznych zestawów, z których korzystałem, jest specyficzny dla x86 (ponieważ zawiera trochę natywnego kodu); w ten sposób klienci x64 zaczęli awarie podczas uruchamiania z błędami dotyczącymi montażu, które nie są odpowiednie dla ich platformy.
Wysłałem temu klientowi kopię wersji x64 tego zewnętrznego zespołu i poprosiłem o skopiowanie go na istniejącą wersję x86. To działało, słodko! Teraz muszę po prostu zrobić, żeby instalator zrobił to za mnie.
To naprawdę wydaje się nietrywialne :(Idealnie, ja po prostu chcę, aby instalator (który byłby x86, ponieważ może działać na obu platformach), aby dołączyć zarówno wersje x86 i x64 tego niezależnego zespołu i zainstalować Innymi słowy, chcę jednego instalatora, który ułatwi życie moim użytkownikom
Pomyślałem, że to się udało, używając instrukcji warunkowych MSI i tak dalej, ale najwyraźniej nie ... projekty konfiguracji VS2008 nie skompiluje się, dopóki nie podasz "x86" lub "x64." Jeśli podasz x86, to pojawi się błąd kompilacji mówiąc, że nie może zawierać zespołu x64. Jeśli podasz x64, wynik nie może zostać wykonany na komputerze x86 Cholera!
Ktoś musiał wcześniej mieć ten problem. Niestety Google nie jest pomocny, więc zwracam się do StackOverflow!
Dziękuję; to jest najlepsze rozwiązanie, jak sądzę. Kiedy mówisz "MSI x86 zostanie zainstalowany przy użyciu WOW64 na platformie x64", czy to oznaczałoby, że moja aplikacja zostanie WOW64'owana? I przypuszczam, że to jest złe. Więc na koniec mogę mieć jakiś boostrapper do wyboru między MSI? – Domenic
"Czy to oznaczałoby, że moja aplikacja zostanie WOW64'ed?" - Tak, to by to dokładnie oznaczało. Twoja aplikacja będzie działać jako proces 32-bitowy na 64-bitowym komputerze, ponieważ jest zainstalowany w folderze "Program files (x86)". Program ładujący x86 jest rzeczywiście rozwiązaniem, za pomocą którego można selektywnie uruchomić odpowiedni MSI. –