Archive for dicembre 2016

Mio articolo SpotLight

Posted on 20 dicembre 2016. Filed under: Senza categoria |

E’ online, il mio nuovo articolo sul Blog Technet Wiki Ninjasit.

Il link è questo:

https://blogs.technet.microsoft.com/wikininjasit/2016/12/20/article-spotlight-lavalondock-it-it/

 

10

Annunci
Leggi l'articolo intero | Make a Comment ( None so far )

Nuovo mio articolo sul Technet Wiki

Posted on 18 dicembre 2016. Filed under: Senza categoria |

E’ online il mio nuovo articolo sul Blog Technet Wiki. E’ l’ultimo della serie di controlli WPF. Con l’anno nuovo parlerò di altre cose, ovviamente sempre legate a tecnologie Microsoft.

 

Il link è: http://social.technet.microsoft.com/wiki/contents/articles/36503.prism-avalondock-extension.aspx

 

12

Leggi l'articolo intero | Make a Comment ( None so far )

Mio nuovo articolo sul blog Technet Wiki

Posted on 14 dicembre 2016. Filed under: Senza categoria |

Pubblicato un nuovo articolo sui controlli WPF. Questa volta si parla di AvalonDock, il sistema per trascinare le finestre nelle varie aree dello schermo ed ancorarle.

Il link è: http://social.technet.microsoft.com/wiki/contents/articles/36484.xceed-avalondock.aspx

Buona lettura

 

13

Leggi l'articolo intero | Make a Comment ( None so far )

Pubblicato mio nuovo articolo sul Blog Techent Ninjasit

Posted on 6 dicembre 2016. Filed under: Senza categoria |

E’ stato pubblicato il mio nuovo articolo della serie Sportlight del martedì.

Questa volta si parla del Navigation Panel.

Il link è questo: https://blogs.technet.microsoft.com/wikininjasit/2016/12/04/article-spotlight-il-navigationpanel-it-it/

 

Buona lettura.

8

Leggi l'articolo intero | Make a Comment ( None so far )

Mio nuovo articolo sul Technet Wiki

Posted on 4 dicembre 2016. Filed under: Senza categoria |

Mio nuovo articolo appena pubblicato sul Network Wiki. Ci occupiamo ancora di Navigation Panel.

Il link è: http://social.technet.microsoft.com/wiki/contents/articles/36409.altro-esempio-di-navigation-pane.aspx

 

2

Leggi l'articolo intero | Make a Comment ( None so far )

La mia prima Conversione da applicazione Win32 a applicazione UWP

Posted on 1 dicembre 2016. Filed under: Senza categoria |

Per mille motivi, può succedere che tocchi a noi sviluppatori anche fare il deploy del nostro software.

Se sviluppiamo applicazioni Windows Win32 abbiamo da sempre avuto il problema di “come vendere la nostra applicazione”. E il cliente a volte non paga, e a volte ci sono problemi tecnici e non si riesce a fare il deploy.

Quante volte ci siamo detti, dopo l’apertura degli Store per le applicazioni mobile “Che bello se ci fosse una cosa così facile anche per le app Win32”. Ebbene, finalmente quel momento è arrivato.

Durante il Connect();2016 si è parlato anche di questo e seppur non ancora funzionante al 100% possiamo giocare a fare la conversione delle applicazioni Win32 in Universal Windows Platform.

La cosa non è semplice, anzi, e tal proposito vi rimando a un articolo dell’ottimo Mario De Ghetto sul numero di Dicembre di IoProgrammo. Nell’articolo di Mario è spiegato benissimo anche i vari tipi di conversione, i comandi da lanciare, i parametri, le parti da scaricare.

Dobbiamo preparare il nostro sistema con alcune componenti, vedere le versioni e altro ancora.

Però voglio giocarci a prendere un gestionale in WPF e vedere cosa succede. Magari forse non riesco neanche, vediamo, questa è una prova a la mia prima esperienza di conversione da App Desktop a Universal App. Vi voglio raccontare “in diretta” la mia esperienza della prima conversione, da utente comunque esperto in sistemi e programmatore.

Prima di tutto avremo da fare qualche operazione anche sull’applicazione Win32 e dobbiamo tenere conto di diverse cose.

Prendo direttamente dal sito Microsoft (https://msdn.microsoft.com/windows/uwp/porting/desktop-to-uwp-root#convert)

  • L’app usa una versione di .NET precedente a 4.6.1. È supportato solo .NET 4.6.1. Devi ridestinare l’app a .NET 4.6.1 prima della conversione.

  • L’app viene eseguita sempre con privilegi di sicurezza elevati. L’app deve funzionare se viene eseguita con i privilegi dell’utente interattivo. Gli utenti che installano l’app da Windows Store potrebbero non essere amministratori di sistema, quindi il requisito di esecuzione con privilegi elevati significa che non funzionerà correttamente per gli utenti standard.

  • L’app richiede un driver in modalità kernel o un servizio Windows. Il bridge è adatto per un’app, ma non supporta un driver in modalità kernel o un servizio di Windows che deve essere eseguito con un account di sistema. Invece di un servizio di Windows, usa un’attività in background.

  • L’app modifica l’hive del Registro di sistema HKEY_LOCAL_MACHINE (HKLM). Qualsiasi tentativo eseguito dalla tua app di creare una chiave HKLM o di aprirne una per la modifica causerà un errore di accesso negato. Ricorda che l’app usa una visualizzazione virtualizzata privata propria del Registro di sistema, quindi il concetto di hive del Registro di sistema a livello di utente e di computer non è applicabile (come è il caso per HKLM). Dovrai trovare un altro modo per ottenere quello per cui usavi HKLM, ad esempio la scrittura in HKEY_CURRENT_USER (HKCU).
  • L’app usa una sottochiave del Registro di sistema ddeexec come mezzo per avviare un’altra app. Usa invece uno dei gestori di verbo DelegateExecute nella configurazione implementata dalle varie estensioni Activatable* nel manifesto del pacchetto della tua app.

  • L’app scrive nella cartella AppData con l’intenzione di condividere dati con un’altra app. Dopo la conversione, la cartella AppData viene reindirizzata all’archivio dati locali dell’app, ovvero un archivio privato per ogni app UWP. Usa altri mezzi per la condivisione dei dati tra processi. Per altre info, vedi Archiviazione e recupero di impostazioni e altri dati dell’app.

  • L’app scrive nella directory di installazione per la tua app. Ad esempio, l’app scrive in un file di log che inserisci nella stessa directory del file EXE. Questa situazione non è supportata, quindi dovrai trovare un’altra posizione, come l’archivio dati locale dell’app.

  • Per l’installazione dell’app è richiesta l’interazione con l’utente. Il programma di installazione della tua app deve poter essere eseguito in modo invisibile all’utente e provvedere all’installazione di tutti i prerequisiti non disponibili per impostazione predefinita in un’immagine pulita del sistema operativo.

  • L’app usa la directory di lavoro corrente. In fase di esecuzione, l’app convertita non avrà a disposizione la stessa directory di lavoro specificata in precedenza nel collegamento LNK del destkop. Devi modificare la directory di lavoro corrente in fase di esecuzione, se la disponibilità della directory corretta è importante per il corretto funzionamento della tua app.

 

E ce ne sono altre.

Una volta corrette queste cose possiamo procedere.

Quello che proverò a fare è la semplice conversione, senza aggiunta di funzionalità. Per fare questo ci serve avere il pacchetto di installazione, altrimenti lo creiamo. Non so se vale anche il pacchetto creato con Clickonce, piuttosto che il file exe o l’msi. Li proveremo…

Detto in parole “non tecniche” il Converter prende il pacchetto di installazione, lo scompatta, tira via l’installazione di Windows e ci mette l’installazione sullo Store. Alla fine avremo un pacchetto con installazione .XAP.

 

Procediamo a scaricare dallo Store il DesktopAppConverter:

image

 

image

 

Iniziamo bene, mi appare questo errore:

image

 

Per risolverlo basta andare in “Gestione attività” e killare i processi “Explorer.exe” e quindi riproviamo.

A questo punto l’installazione funziona.

image

Come abbiamo visto sopra è richiesto che nel sistema sia installata la build 14393, ossia l’Anniversary Update.

 

Dobbiamo andare adesso a scaricare l’immagine di Windows 10 che servirà al converter per mettere su una macchina virtuale per la conversione.

Andiamo nel sito https://www.microsoft.com/en-us/download/details.aspx?id=54283

 

Selezioniamo il file BaseImage-14393.wim se abbiamo l’Anniversary Update, altrimenti, se siamo degli Insiders e abbiamo installato delle successive versioni scaricheremo quella.

 

 

image

 

image

 

 

Per fare la conversione dobbiamo aprire il DAC con diritti amministrativi.

La sinstassi è la seguente:

    DesktopAppConverter.exe <arguments>
    Use "DesktopAppConverter.exe -?" or visit http://go.microsoft.com/fwlink/?LinkID=785434 for more information on arguments supported by this tool.

EXAMPLES
    1. Setup converter environment using a base image
       C:\> DesktopAppConverter.exe -Setup -BaseImage C:\BaseImage\BaseImage-<version>.wim

    2. Convert an installer for a desktop app (MSI or EXE) to a UWP package (AppX)
       C:\> DesktopAppConverter.exe -Installer C:\MySetup.MSI -Destination C:\MyAppxFolder -PackageName "MyApp" -Publisher "CN=<publisher_name>" -Version 1.0.0.0 -MakeAppx

 

Sono due comandi da dare a riga di comando.

Nel nostro caso la prima è:

DesktopAppConverter.exe -Setup -BaseImage C:\Conversione\BaseImage-14393\BaseImage-14393.wim

 

image

 

 

image

 

 

image

 

image

 

 

Dobbiamo riavviare il sistema.

Dopo aver riavviato il sistema procediamo…

Si apre automaticamente Powershell che continuerà la preparazione del sistema.

image

 

Creo il file eseguibile del setup, tramite clickonce ma non ne vuole sapere.

Preparo allora il pacchetto msi.

Questo è il programma in WPF in esecuzione:

image

E’ un programma fatto diverse decine di anni fa che utilizzo da cavia.

 

Riapriamo il Desktop App Converter e digitiamo:

DesktopAppConverter.exe -Installer C:\Conversione\SoftwareAstronomia_setup.msi -Destination C:\output -PackageName "SoftwareAstronomia" -Publisher "CN=Piero Sbressa" -Version 1.0.0.0 -MakeAppx -AppExecutable "C:\Program Files (x86)\SoftwareAstronomia\SoftwareAstronomia.exe" -PackageArch x86

 

 

Al terzo tentativo l’operazione è riuscita:

image

 

Andiamo a vedere la cartella creata:

 

image

 

Come potete vedere ecco il pacchetto appx.

Ora gli facciamo doppio click.

 

image

 

E lanciamo l’installazione.

image

 

Ancora un problema. Dobbiamo installare prima il certificato.

Mi è capitato che a ogni tentativo il pc si disconnette dalla rete interna.

 

Rilanciamo la conversione aggiungendo –Sign che crea il certificato e –Verbose che spiega in dettaglio quello che sta facendo.

DesktopAppConverter.exe -Installer C:\Conversione\SoftwareAstronomia_setup.msi -Destination C:\output -PackageName "SoftwareAstronomia" -Publisher "CN=Piero Sbressa" -Version 1.0.0.0 -MakeAppx -AppExecutable "C:\Program Files (x86)\SoftwareAstronomia\SoftwareAstronomia.exe" -PackageArch x86 -Verbose –Sign

 

image

 

Ecco che ora c’è anche il file del certificato:

image

 

Per installarlo bisogna fare click con il tasto destro del mouse sul file con estensione cer e premere “Installa certificato”

image

 

Selezionare come da seguenti schermate:

image

image

 

image

 

image

 

Rilanciamo l’installazione.

 

image

 

image

 

 

Nuovo errore, sta diventando una cosa infinita.

Errore 0x87AF0001: errore dell’estensione elementi visivi durante l’elaborazione dell’elemento notifica.

 

Dobbiamo usare questo comando per risolvere:

dism /online /cleanup-image /startcomponentcleanup.

 

image

Ma a sua volta c’è un altro errore.

Riavviamo il computer e teniamo chiusi tuti i programmi.

Questa volta va.

 

image

 

image

 

 

image

Ma ancora il problema non viene risolto.

Lascio stare, vado sul portatile e rifaccio tutto dall’inizio.

Questa volta non ci sono stati intoppi ed ecco il programma UWP installato e funzionante.

 

image

image

 

Troverete comunque la spiegazione dei parametri e di tutto quello che succede sempre nell’articolo di Mario De Ghetto su Io Programmo di Dicembre, al quale mi sono ispirato per fare la mia prima conversione. Vi consiglio di andare in edicola e leggere il suo articolo, scritto e redatto molto bene. Qua ho voluto raccontare la mia esperienza facendo riferimento al suo articolo e agli altri articoli ufficiali sul sito Microsoft.

Di sicuro la vedo ancora macchinosa e non si dovrebbe andare a tentativi.

Ho voluto provare a fare la conversione per Windows Phone. Un delirio.

Io spero che in una futura versione si possa fare la conversione con interfaccia grafica rendendo il tutto meno macchinoso.

Leggi l'articolo intero | Make a Comment ( None so far )

Mio nuovo articolo nel Technet Wiki

Posted on 1 dicembre 2016. Filed under: Senza categoria |

Apriamo dicembre con i botti. Ho appena pubblicato un articolo sul Wiki Twchnet.

Ancora si parla di WPF, questa volta si torna a parlare di layout e interfaccia grafica. Scopriremo cosa è e come usare il NavigationPane.

Il link è http://social.technet.microsoft.com/wiki/contents/articles/36387.wpf-navigation-pane.aspx

 

Buona lettura

 

3

Leggi l'articolo intero | Make a Comment ( None so far )

Liked it here?
Why not try sites on the blogroll...