2010-09-02 10 views
6

Mam XBAP, który musi być w stanie nagrywać płyty CD. Podczas uruchamiania z poziomu Visual Studio wszystko działa poprawnie. Jednak podczas działania z przeglądarki, biblioteka IMAPI dll informuje, że środowisko nie jest obsługiwane, gdy tylko spróbuje uzyskać dostęp do dysku.Nagrywanie płyt CD w XBAP

Zakładam, że to sprowadza się do zezwolenia. Mam podpisany certyfikat, który mam zainstalowany, a xbap jest uruchamiany jako aplikacja pełnego zaufania (chociaż domyślam się, że nie może być lub nie będę miał tego problemu).

Obecnie wszystko działa na moim komputerze lokalnym, jednak ostatecznie chcę, aby to zostało wdrożone na serwerze sieciowym (wszyscy użytkownicy będą już mieć zainstalowany certyfikat na swoich klientach).

Czy ktoś ma jakieś pomysły na temat tego, co przegapiłem/zrobiłem źle?

Aktualizacja:

Próbowałem tworzenia nowego, certyfikat testowy które mam zainstalowane w moim magazynie certyfikatów, a następnie podpisał XBAP przeciwko niej, ale to nie ma znaczenia.

Naprawdę można zrobić z niektórych pomysłów, jeśli ktoś ma jakieś?

Dalsze Aktualizacja:

Stworzyłem aplikację konsoli, która jest w stanie nagrywać płyty CD. Łuskanie do tej aplikacji konsolowej pozwala mi nagrać płytę CD z mojego xbap, ale nie z wnętrza samego xbap.

Jednak to naprawdę nie jest to, czego chcę. Idealnie chcę mieć to wszystko zawarte w xbap. Jeśli to się nie uda, czy istnieje sposób na włączenie aplikacji konsoli do wdrożenia jednego kliknięcia w xbap?

Dzięki

Odpowiedz

2

Uważam, że nie można tego zrobić z XBAP. Według MS documentation on XBAPs,

Przykłady uprawnień niedostępnych w strefie internetowej:

  • FileIOPermission - To uprawnienie kontroluje możliwość odczytu i zapisu plików na dysku. W związku z tym aplikacje w strefie internetowej nie mogą czytać plików na dysku twardym użytkownika.

  • RegistryPermission - To uprawnienie kontroluje możliwość odczytu/zapisu w rejestrze. W związku z tym aplikacje w strefie internetowej nie mogą uzyskać dostępu ani kontrolować stanu w rejestrze użytkownika.

  • SecurityPermission.UnmanagedCode - To uprawnienie kontroluje możliwość wywołania rodzimych funkcji Win32.

Po uruchomieniu XBAP przez internet, trafisz Issue # 3: próbuje współdziałanie z kodem niezarządzanym.

Polecam wdrażanie aplikacji jako samodzielnej aplikacji z ClickOnce.W ten sposób możesz mieć pełny dostęp do systemu, ale nadal masz łatwe wdrażanie i uaktualnienia, tak jak robisz to za pomocą XBAP.


* edit *

Jedno można spróbować - i nie mogę zagwarantować, to będzie działać - ale można mieć użytkownicy przejść do Opcji IE internetowych, dodać witryna do listy zaufanych witryn. Obstawiam, że twój kod nagrywania na CD zadziała, ponieważ będzie znajdować się w zaufanej strefie, a nie w Strefie Internetowej.

0

Spróbuj przejść do

HKLM \ Software Foundation \ Microsoft.NETFramework \ Windows Presentation \ Hosting

w rejestrze

utworzyć nową wartość DWORD o nazwie RunUnrestricted o wartości 1.