NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: WPF aplikace se nechce spustit na jiných počítačích

V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Ladislav Ondris:11.5.2016 17:16

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.5.2016 17:18
Odpovědět
11.5.2016 17:16
Pokud neděláš chyby, nepracuješ na dostatečně těžkých problémech.
Avatar
Petr Čech
Tvůrce
Avatar
Odpovídá na Ladislav Ondris
Petr Čech:11.5.2016 17:27

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

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
11.5.2016 17:27
the cake is a lie
Avatar
Odpovídá na Petr Čech
Ladislav Ondris:11.5.2016 17:52

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

Nahoru Odpovědět
11.5.2016 17:52
Pokud neděláš chyby, nepracuješ na dostatečně těžkých problémech.
Avatar
Petr Čech
Tvůrce
Avatar
Odpovídá na Ladislav Ondris
Petr Čech:11.5.2016 18:27

Klidně, je to jedno...

Nahoru Odpovědět
11.5.2016 18:27
the cake is a lie
Avatar
ostrozan
Tvůrce
Avatar
Odpovídá na Petr Čech
ostrozan:12.5.2016 12:21

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.5.2016 12:21
Avatar
Odpovídá na ostrozan
Ladislav Ondris:12.5.2016 12:35

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.5.2016 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:12.5.2016 13:39

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.5.2016 13:40
Nahoru Odpovědět
12.5.2016 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:12.5.2016 13:54

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

Nahoru Odpovědět
12.5.2016 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:12.5.2016 13:57

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.5.2016 13:58
Nahoru Odpovědět
12.5.2016 13:57
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Petr Čech
Tvůrce
Avatar
Odpovídá na ostrozan
Petr Čech:12.5.2016 14:55

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.5.2016 14:55
the cake is a lie
Avatar
Odpovídá na Petr Čech
Neaktivní uživatel:12.5.2016 16:26

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
12.5.2016 16:26
Neaktivní uživatelský účet
Avatar
Odpovídá na Michal Štěpánek
Ladislav Ondris:12.5.2016 20:39

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.5.2016 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:12.5.2016 20:43

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

Nahoru Odpovědět
12.5.2016 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:12.5.2016 20:45

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.5.2016 20:45
Pokud neděláš chyby, nepracuješ na dostatečně těžkých problémech.
Avatar
Ladislav Ondris:12.5.2016 21:23

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.5.2016 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:13.5.2016 7:38

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

Nahoru Odpovědět
13.5.2016 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:13.5.2016 11:36

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.5.2016 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:13.5.2016 12:15

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.5.2016 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.