Avatar
Ladislav Ondris:

Zdravím,

po dlouhé době tu mám problém, který nejsem schopen nějak sám vyřešit, a tak žádám ty, kteří se s tím již setkali nebo věděli, v čem by mohl být problém, aby mě nasměrovali na tu správnou cestu. :-)

Problém je takový, že mi moje WPF aplikace nejdou spustit na ostatních počítačích, teda alespoň většinou.

Když založím nový projekt WPF application, spustím ho ve VS, tak je všechno v pohodě, spustí se čisté prázdné okno. Když program spustím ze složky, tak mi to také funguje. Ale když si tento projekt přenesu na jiný počítač, nespustí se. Pouze se točí kolečko, že se program načítá, ale nic se prostě neděje.

Verzí .NET frameworku by to být nemělo, neboť projekt je postavený na verzi 4.0 (defaultně po založení projektu) a verze .NET na počítačích jsou 4.6 nebo 4.6.1.

Tento problém přetrvává už delší dobu, ale nyní nastal čas, kdy ho již musím vyřešit.

Díky za případné rady. :-)

Editováno 11. května 17:18
Odpovědět 11. května 17:16
Pokud neděláš chyby, nepracuješ na dostatečně těžkých problémech.
Avatar
Odpovídá na Ladislav Ondris
Petr Čech (czubehead):

Musíš si udělat instalačku, samotné .exe ani samo od sebe fungovat nemá.
project>proper­ties>publish

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět 11. května 17:27
Why so serious? -Joker
Avatar
Odpovídá na Petr Čech (czubehead)
Ladislav Ondris:

A neměl bych spíše vytvořit nový Setup projekt v mém solution?

Nahoru Odpovědět 11. května 17:52
Pokud neděláš chyby, nepracuješ na dostatečně těžkých problémech.
Avatar
Nahoru Odpovědět 11. května 18:27
Why so serious? -Joker
Avatar
ostrozan
Redaktor
Avatar
Odpovídá na Petr Čech (czubehead)
ostrozan:

Přesto by měl jít .exe spustit - když má framework nainstalovaný .
Mně se naopak už stalo, že aplikace po instalaci nešla spustit a musel jsem to řešit právě instalací .NET a spouštěním .exe

 
Nahoru Odpovědět 12. května 12:21
Avatar
Odpovídá na ostrozan
Ladislav Ondris:

Myslím, že by. NET aplikace měly jít spustit na dnešních windowsech, neboť má Windows tento framework již v sobě. To už podle mě musí být problém někde u mě, pokud by měly jít .exe soubory spustit.

Nahoru Odpovědět 12. května 12:35
Pokud neděláš chyby, nepracuješ na dostatečně těžkých problémech.
Avatar
Odpovídá na Ladislav Ondris
Michal Štěpánek:

Když vytvoříš aplikaci a obsah adresáře Bin/Release někam zkopíruješ (na jakýkoliv PC), tak to musí jít spustit, pokud je tam .NET minimálně stejný jako vyžaduje aplikace.

Editováno 12. května 13:40
Nahoru Odpovědět 12. května 13:39
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na Michal Štěpánek
Ladislav Ondris:

Tak v tom případě můj problém zůstává nevyřešen.

Nahoru Odpovědět 12. května 13:54
Pokud neděláš chyby, nepracuješ na dostatečně těžkých problémech.
Avatar
Odpovídá na Ladislav Ondris
Michal Štěpánek:

A co ti přesně nejde? Nepoužíváš v programu nějakou knihovnu třetích stran, kterou jsi zapomněl přidat do release? Nakopíroval jsi celý obsah toho adresáře na cílové PC? Nemáš ho zkompilovaný pouze pro 32bit PC a nesnažíš se ho spustit na 64bit?

Editováno 12. května 13:58
Nahoru Odpovědět 12. května 13:57
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na ostrozan
Petr Čech (czubehead):

Ano, mělo by to teoreticky jít, ale není to způsob, jakým bys chtěl distribuovat tvou appku. Protože:

  • musí být nainstalovaná stejná verze .NET
  • stejná architektura
  • žádné knihovny
  • pravděpodobně ještě pár detailů
Nahoru Odpovědět 12. května 14:55
Why so serious? -Joker
Avatar
Jiří Gracík
Redaktor
Avatar
Odpovídá na Petr Čech (czubehead)
Jiří Gracík:

Jenže když chceš testovat aplikaci na jiném pc, tak jí určitě nechceš pokaždé instalovat, spíš chceš nějakou portable verzi.

Nahoru Odpovědět  +1 12. května 16:26
Creating websites is awesome till you see the result in another browser ...
Avatar
Odpovídá na Michal Štěpánek
Ladislav Ondris:

Jak jsem psal výše, zkoušel jsem spustit čisté WPF bez ničeho. Takže knihovnami by to být nemělo.

Jinak na jednom počítači mi to spustit jde, na druhém však ne.

Ve VS v Properties projektu v záložce Build jsem zkoušel nastavil cílovou platformu "Any CPU" i x86, ani jedno nefunguje. Systém na kterém to testuji je 32 bitový, procesor 64 bitový.
Já mám za to, že když je systém 64 bitový, tak rozjede 32 bitový software, nikoliv naopak.

Zkoušel jsem to i přes instalačku, také nic. Už opravdu nevím, co dělám špatně.

Nahoru Odpovědět 12. května 20:39
Pokud neděláš chyby, nepracuješ na dostatečně těžkých problémech.
Avatar
Odpovídá na Ladislav Ondris
Michal Štěpánek:

Pokud chceš, aby program fungoval na 64bit stroji, musíš ho zkompilovat na x86. AnyCPU nefunguje.

Nahoru Odpovědět 12. května 20:43
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na Michal Štěpánek
Ladislav Ondris:

Však jsem před chvílí psal, že jsem to zkoušel s nastavením AnyCPU a aji x86 a ani jedno nefunguje.

Nahoru Odpovědět 12. května 20:45
Pokud neděláš chyby, nepracuješ na dostatečně těžkých problémech.
Avatar
Ladislav Ondris:

Když jsem zkusil projekt postavit na verzi 64 a spustit ho na testovaném počítači, tak mě OS upozornil, že tato aplikace nemůže být spuštěna na tomto OS, což je pochopitelné, neboť je systém 32 bitový.

Nahoru Odpovědět 12. května 21:23
Pokud neděláš chyby, nepracuješ na dostatečně těžkých problémech.
Avatar
Odpovídá na Ladislav Ondris
Michal Štěpánek:

Nesmí být konfigurace na x64, ale na x86 - ta funguje i na 32 i na 64

Nahoru Odpovědět 13. května 7:38
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Ladislav Ondris:

Já vím. Konfigurace na x64 se vyplatí pouze v době, kdy aplikace potřebuje více jak 2 GB RAM paměti. Uvedl jsem to tu zde jen pro informaci.

Také jsem už dvakrát psal, že s konfigurací x86 mi to nefunguje.

Nahoru Odpovědět 13. května 11:36
Pokud neděláš chyby, nepracuješ na dostatečně těžkých problémech.
Avatar
Odpovídá na Ladislav Ondris
Michal Štěpánek:

Mám pocit, že to s RAM až tak úplně nesouvisí. X64 na 32bitech nejede a x86 jede na obojím... 64bitové stroje umí využít víc než 4GB RAM, 32bitové umí využít necelé 4GB.
Něco musíš mít asi špatně nastavené ve VS, protože když udělám jakoukoliv appku s konfigurací x86, můžu ji spustit na čemkoliv, co má odpovídající .NET.

Nahoru Odpovědět 13. května 12:15
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 18 zpráv z 18.