Mam plik konfiguracyjny, który wymaga zmiany na serwerze, tak aby po zainstalowaniu na nim naszego oprogramowania, plik konfiguracyjny instalatora klienta został skonfigurowany tak, aby odpowiadał konkretnemu serwerowi. ustawień, a następnie skopiowane do folderu publicznego w sieci w celu wdrożenia.Problemy z instalacją Mage.exe
Ponieważ zmieniam plik konfiguracyjny, muszę również odbudować pliki * .manifest i * .application, a jak rozumiem, moją jedyną realną opcją jest użycie Mage.exe z Win7 SDK . Aby naprawić plik * .manifest z poprawnym hashem ze zmodyfikowanego pliku konfiguracyjnego, uruchamiam:
mage -new Application -fd ". \ Application Files \ < appName> _1_0_0_0" -ToFile ". \ Application Files \ _1_0_0_0 \ < appName> .exe.manifest”-Name "< appName>" -version "1.0.0.0" -CertFile "key.pfx" -password "< hasło>"
a następnie, aby naprawić * Plik .application z poprawnym hashem ze zmodyfikowanego * pliku manifestu. Uruchamiam:
mage -new Deployment -I t -t "< appName> .application" -v "1.0.0.0" -appManifest ". \ Pliki aplikacji \ < appName> _1_0_0_0 \ < appName> .exe.manifest "-puryn "http: // < hostaddress>/< ścieżka>/Pliki aplikacji/< appName> _1_0_0_0/< appName> .exe.manifest" -CertFile" key.pfx "-password" "
Teraz wszystko działa i otrzymuję wiadomość, że pliki zostały pomyślnie podpisane. Kiedy próbuję zainstalować aplikację kliencką choć to oczywiste, że coś poszło na opak, kiedy pojawia się dziennik błędów z komunikatem:
+ Deployment manifest is not semantically valid.
+ Deployment manifest requires <deployment> section.
W patrząc na plik * .application, posiada kilka dodatkowych informacji w ramach „wdrożenie” węzeł, który sam plik bezpośrednio z funkcji publikowania w VS2008 nie ma:
<deployment install="true">
<subscription>
<update>
<expiration maximumAge="0" unit="days" />
</update>
</subscription>
<deploymentProvider codebase="http://<hostaddress>/<path>/Application Files/<appName>_1_0_0_0/<appName>.exe.manifest" />
</deployment>
VS2008 opublikować wersję po prostu posiada:
<deployment install="true" />
Kiedy Usuwam dodatkowe informacje i ustawię węzeł wdrażania na węzeł samo kończący się, a następnie ponownie podpisuję plik, wszystko działa zgodnie z oczekiwaniami.
Czy jest to znany problem i czy istnieje sposób zmotywowania maga do utworzenia pliku bez dodatkowych informacji w węźle wdrażania, aby działał poprawnie?
EDYCJA: Jako tymczasowe rozwiązanie, ładuję pliki do XmlDocument i modyfikuję je, aby odpowiadały, a następnie ponownie podpisywały pliki. Ponadto mam teraz do czynienia z problemem, który nie pozwala jeszcze określić sposobu dodania ikony do wdrożenia, więc element menu Start otrzymuje ikonę inną niż ikona ogólna.
Mam bardzo podobny przypadek użycia z podobnymi problemami. Odpowiem, jeśli znajdę rozwiązanie. –
po prostu użyj flagi -appc na maga –
Nathan, sprawdź moją odpowiedź i zobacz, czy to ci pomaga. Korzystanie z Mage.exe powinno działać dobrze. –