Przerobienie aplikacji pod 32bity.

Przerobienie aplikacji pod 32bity.
BB
  • Rejestracja:około 4 lata
  • Ostatnio:5 miesięcy
  • Postów:39
0

Cześć, używam VisualStudio 2019, piszę w języku c# i używam windows forms. Jak przerobić napisaną aplikację tak, aby uruchamiała się na 32 bitowym systemie?
Pozdrawiam.

edytowany 1x, ostatnio: bboylubsko
BB
  • Rejestracja:około 4 lata
  • Ostatnio:5 miesięcy
  • Postów:39
0

Dziwne, program działa na Windows 10 64 bit, u kolegi z nieznanym mi systemem działa, a na Windows 10 32 bit wyskakuje komunikat:
555.jpg

W ustawieniach wybrane automatycznie było AnyCPU:
4545.png

edytowany 6x, ostatnio: bboylubsko
ZK
Chyba można dopisać albo zmienić plik konfiguracyjny ale nie bawiłem się z tym jeszcze
ZK
Duży jest ten program ? Możesz wysłać go na forum ?
HA
  • Rejestracja:ponad 10 lat
  • Ostatnio:około rok
  • Postów:115
0

Jeżeli budujesz aplikację w systemie 64 bitowym, to wynikiem kompilacji będzie 64 bitowy program, który nie uruchomi się na 32 bitowym procesorze.
Musisz zmienić "Cel platformy" na x86, wtedy plik wynikowy uruchomi się na Windows 10 32bit.

AdamWox
  • Rejestracja:ponad 7 lat
  • Ostatnio:około 7 godzin
  • Lokalizacja:Jastrzębie-Zdrój
  • Postów:2155
1

Żeby mieć 32-bit apkę to wystarczy "zahaczyć" opcję Preferuj 32-bitowe

G1
  • Rejestracja:około 4 lata
  • Ostatnio:24 dni
  • Postów:504
1

W ustawieniach kompilacji gdzie masz AnyCPU wybierz inne, dodaj x86 i po kłopocie

JU
  • Rejestracja:około 22 lata
  • Ostatnio:30 dni
  • Postów:5042
1

Jeśli mowa o desktopie, to...
Na AnyCPU kompiluje się biblioteki, które nie mają zależności od innych bibliotek o określonej bitowości. Projekt exe powinieneś budować pod konkretne platformy, czyli x86 i x64, i co tam jeszcze masz. Projekty testów, lepiej kompilować na x86 (na tej platformie domyślnie są obsługiwane testy).

AnyCPU powoduje to, że biblioteka tak skompilowana pracuje w takiej bitowości, jak aplikacja ją używająca.

G1
Oo, z tymi bibliotekami to nie wiedziałem
ZK
  • Rejestracja:prawie 7 lat
  • Ostatnio:4 miesiące
  • Postów:273
0

Nie bardzo rozumiem. Mowa jest o powtórnej kompilacji czy przerobieniu już istniejącej aplikacji ?

G1
  • Rejestracja:około 4 lata
  • Ostatnio:24 dni
  • Postów:504
0

Mając na uwadze tylko to, co przedstawił w poście zacząłbym od kompilacji :)

JU
  • Rejestracja:około 22 lata
  • Ostatnio:30 dni
  • Postów:5042
0

A co do przerobienia, to zależy jak został napisany kod.

ZK
  • Rejestracja:prawie 7 lat
  • Ostatnio:4 miesiące
  • Postów:273
0

@Juhas: C# to nie C++ . A nie wystarczyłoby zmienić plik konfiguracyjny żeby aplikacja uruchamiała się w 32 bitach ?

JU
  • Rejestracja:około 22 lata
  • Ostatnio:30 dni
  • Postów:5042
0

@Zimny Krawiec: a co ma do tego C++? W C# też możesz napisać taki kod, który spowoduje Ci problemy przy innej bitowości :/

ZK
Dlatego że programy w C# są kompilowane w locie dopiero po uruchomieniu programu .
Azarien
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 12 godzin
0

@Juhas:

Juhas napisał(a):

Jeśli mowa o desktopie, to...

Na AnyCPU kompiluje się biblioteki, które nie mają zależności od innych bibliotek o określonej bitowości. Projekt exe powinieneś budować pod konkretne platformy, czyli x86 i x64,

Jeżeli w dotnetowym programie nie używamy żadnych bibliotek natywnych, to jaki sens jest używać czegokolwiek innego niż AnyCPU. Przecież to najłatwiejszy sposób by uniezależnić się od platformy.

obscurity
ale autor napisał że miał AnyCPU
Azarien
ale "coś źle robi" skoro mu nie działa.
JU
  • Rejestracja:około 22 lata
  • Ostatnio:30 dni
  • Postów:5042
0

Tu jest ciekawie to opisane: https://docs.microsoft.com/en-us/windows/msix/package/device-architecture#x86 głównie ten akapit:

Choosing x86 is generally the safest configuration for an app package since it will run on nearly every device. On some devices, an app package with the x86 configuration won't run, such as the Xbox or some IoT Core devices. However, for a PC, an x86 package is the safest choice and has the largest reach for device deployment. A substantial portion of Windows 10 devices continue to run the x86 version of Windows.

BB
  • Rejestracja:około 4 lata
  • Ostatnio:5 miesięcy
  • Postów:39
0

Cześć, przepraszam za długi czas bez odpowiedzi.
Niestety urwał się kontakt z osobą, która miała Windows 10 32 bit. Nikogo innego już nie kojarzę z takim systemem, lecz zaciekawiła mnie kwestia uruchomienia programu na starym Windows XP x32 z zainstalowanym net 3,5 oraz net 4,0. Niestety cały czas wyskakuje komunikat, że aplikacja nie jest poprawną aplikacją win32.
1.png
2.png

Użyłem następujących bibliotek:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Text.RegularExpressions;
using System.Diagnostics;
using System.IO;
using System.Threading;

  • 1.png (32 KB) - ściągnięć: 11
  • 2.png (14 KB) - ściągnięć: 10
Szalony Programista
Szalony Programista
  • Rejestracja:około 7 lat
  • Ostatnio:prawie 4 lata
  • Postów:227
1

Stare windowsy miały net frameworka, a net core jest stosunkowo nowe, powinieneś zmienić na net framework 3.5 i powinno działać.

BB
  • Rejestracja:około 4 lata
  • Ostatnio:5 miesięcy
  • Postów:39
0

Dzięki za wskazówki :) Niestety nie miałem na liście do wyboru Net Framework 3,5. Po kliknięciu w zainstaluj inne platformy przekierowuje mnie na stronę pobierania. Pobrałem Net Framework 3,5 SP1 runtime i plik instalacyjny nie chce się uruchomić.

3.png
4.png

Znalazłem jeszcze wskazówkę, aby uruchomić Visual Studio Installer -> Pojedyncze składniki -> w sekcji .NET zaznaczyć Narzędzia programistyczne programu . NET Framework 3.5.

Niestety nie mam dodatkowej opcji do wyboru oprócz .NET Core.

  • 3.png (14 KB) - ściągnięć: 12
  • 4.png (29 KB) - ściągnięć: 11
edytowany 1x, ostatnio: bboylubsko
JP
  • Rejestracja:ponad 7 lat
  • Ostatnio:4 miesiące
  • Postów:1065
2

Musosz chyba zrobic nowy projekt windows framework i wtedy będziesz miał wersję 4.x

BB
  • Rejestracja:około 4 lata
  • Ostatnio:5 miesięcy
  • Postów:39
0

Dzięki! Po utworzeniu nowego projektu z .Net Framework w nawiasie wszystko działa na Xp x32 :)

Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)