11.784 messaggi dal 09 febbraio 2002
Contributi

Ora ho creato l'operazione pianificata come mi hai mostrato

Prova dal prompt dei comandi per il momento e vedi che errore ti dà.

ciao,
Moreno

Enjoy learning and just keep making
875 messaggi dal 11 febbraio 2013
L'errore è uguale
Impossibile trovare il file specificato

Ho provato
start Serializer
start Serializer.exe

Mi chiedo se non convenga pubblicare senza clickOnce

Se si come?

Grazie per l'aiuto

Cmq non pensavo fosse così complesso
11.784 messaggi dal 09 febbraio 2002
Contributi

Impossibile trovare il file specificato

Dev'essere che il file non esiste.

Comunque, mi pareva strano che clickonce avesse distribuito un .exe. Infatti l'applicazione installata con clickonce si lancia da un file .appref-ms. Segui questo:
https://developingfor.net/2010/06/23/processing-command-line-arguments-in-an-offline-clickonce-application/


Mi chiedo se non convenga pubblicare senza clickOnce

Di soluzioni ce ne sono tante. Ti conviene lasciar perdere a un passo dalla soluzione?

ciao,
Moreno

Enjoy learning and just keep making
875 messaggi dal 11 febbraio 2013
Si è vero ma sto penando

in prompt questo
"C:\jjchuck\jonata\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Serializer\Serializer.appref-ms"
apre il form correttamente

lo stesso comando nell'operazione pianificata restituisce
operazione annullata dall'utente:
apre la finestra di windows che ti chiede con quale programma vuoi aprire il file.

... è dura...magari avessi le tue competenze...avrei già risolto da tempo


La buona notizia è che se nell'operazione pianificata aggiungo l'argomento
e indico con quale programma eseguire il task il programma funziona percui questo single trhead non
debbo toccarlo:

        static void Main(string[] args)
        {
            if (args != null && args.Length > 0)
            {
                Task.Run(() =>
                {
                    Form1.Serialize();
                }).Wait();

                Task.Run(() =>
                {
                    Form1.Compress();
                }).Wait();

                Task.Run(() =>
                {
                    Form1.FtpUpload();
                }).Wait();

                Form1.SendMail();
            }
            else
            {
                //avvio UI normalmente
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new Form1());
            }
        }


Tanto per la cronaca System.Deployment.dll è già refernziato
Modificato da jjchuck il 17 gennaio 2019 12.59 -
86 messaggi dal 01 febbraio 2017
Se dal prompt ti funziona correttamente, dallo "in pasto" al prompt !
In operazioni pianificate crea un .bat con "START "C:\jjchuck\jonata\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Serializer\Serializer.appref-ms".

Dovrebbe andare.

Comunque secondo me è l'approccio errato, non devi continuare a fare riferimento a percorsi assoluti, poichè è normale che varino dalla macchina di sviluppo al server in produzione, a maggior ragione se sono versioni di win diverse.

Altra strada da percorrrere infatti, è quella di utilizzare le variabili di ambiente.
Se dal prompt digiti "SET" ne hai una bella sfilza.

Ma anche .NET ha dei comandi per creare un file temporaneo nella cartella dell'utente, ora non ricordo di preciso, l'ho usata qualche anno fa...

Scrivi il tuo file nel percorso puntato dalla variabile di ambiente, e dopo lo leggi di nuovo da lì.

Facci sapere come va.
;-)

Gino.

UNSTRING identifier-1 id-2 id-3
DELIMITED BY [ALL] OR [ALL] literal-1 lit-2
INTO {id-4 [DELIMITER IN id-5]
[COUNT IN id-6]}
[WITH POINTER id-7]
[TALLYING IN id-8]
[ON OVERFLOW imperative-statement-1]
[NOT ON OVERFLOW imper-2]
[END-UNSTRING]
875 messaggi dal 11 febbraio 2013
Da comando funziona però apre la finestra "Apri Con..." e debbo indicare quale programma.
Questo non va bene.

Tuttavia cosè un .bat e come lo creo

perdona l'ignoranza
86 messaggi dal 01 febbraio 2017
Con notepad crei un file con la linea che ti ho scritto prima "start c:\..." e salvi con nome pippo.bat.
In operazioni pianificate, ci metti questo pippo.bat che è un file eseguibile dal sistema.

Ma ripeto, mi sembra una soluzione poco elegante, meglio con le variabili di ambiente ... fai qualche ricerca, o anche da .NET

UNSTRING identifier-1 id-2 id-3
DELIMITED BY [ALL] OR [ALL] literal-1 lit-2
INTO {id-4 [DELIMITER IN id-5]
[COUNT IN id-6]}
[WITH POINTER id-7]
[TALLYING IN id-8]
[ON OVERFLOW imperative-statement-1]
[NOT ON OVERFLOW imper-2]
[END-UNSTRING]
875 messaggi dal 11 febbraio 2013
attualmente non sono in grado
proverò...

cmq grazie

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.