Tworzę plik msi instalatora przy użyciu zestawu narzędzi XML Instalatora Windows. Podczas instalowania utworzonego pliku msi skrót znajdujący się w folderze ProgramMenuFolder powoduje utworzenie skrótu tylko dla użytkownika Administrator. W jaki sposób mogę pozwolić instalatorowi utworzyć skrót w profilu Wszyscy użytkownicy, aby wszyscy na komputerze mieli skrót? blogJak zainstalować skróty do programów dla wszystkich użytkowników?
Odpowiedz
Stuarta Preston ma dobry opis jak to zrobić:
Installing a shortcut for "All Users" (via Wayback Machine)
Edit:
W Synopsys jest:
W pliku .wxs, obejmują:
<Property Id="ALLUSERS"><![CDATA[2]]></Property>
Spowoduje to ustawienie właściwości, która naśladuje zachowanie wybierania numeru "Wszyscy użytkownicy" zamiast "Just Me" dla swojej instalacji. Będziesz potrzebują struktury katalogów podobny do następującego też:
<Directory Id='ProgramMenuFolder' Name='PMenu' LongName='Programs'> <Directory Id='MyProductShortcutDir' Name='MyPMenu' LongName='MyProduct' /> </Directory>
Wreszcie, skrót powinien znajdować się w elemencie „Plik”, w następujący sposób:
<File Id="MyProduct.File0" LongName="MyProduct.exe" Name="MYPROD_1.EXE" src="c:\MyProductSourceFolder\MyProduct.exe" > <Shortcut Id="MyProduct.Shortcut" Directory="MyProductShortcutDir" Name="MPSCUT" LongName="My Product Shortcut" /> </File>
W Package element, dodaj atrybut InstallScope w ten sposób:
InstallScope='perMachine'
Prosty zdefiniuj ALLUSERS = 1, aby wymusić instalację na maszynie .
<Property Id="ALLUSERS"><![CDATA[1]]></Property>
Powinieneś użyć InstallScope = 'perMachine' zamiast –
Czy to nie wystarczy tak ustawić właściwość ALLUSERS? Przynajmniej to jest wskazane w dokumentacji. – saschabeaumont
podstawie SampleFirst.wxs w WIX Tutorial http://www.tramontana.co.hu/wix/lesson1.php były dwie części, które zostały zmienione.
Najpierw dodaj właściwość ALLUERS = 1 "". To instaluje skrót do profilu wszystkich użytkowników, jak zauważyli inni.
Po drugie, zmień katalog główny dla wartości rejestru dla komponentu "ProgramMenuDir" na HKMU. Instalator podejmie decyzję, czy powinien używać HKLM (Komputer lokalny) lub HKCU (Bieżący użytkownik) w czasie instalacji, na podstawie właściwości ALLUSERS.
Powinieneś wtedy móc dodawać dialogi, aby zmodyfikować właściwość ALLUSERS, zmieniając odpowiednio katalog główny rejestru.
<?xml version="1.0" encoding="utf-8"?>
<!-- Original Source available at "http://www.tramontana.co.hu/wix/download.php?file=samples/samplefirst.zip&type=application/zip"
This version has been modified for a local machine install (all users) vs a user install-->
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Name="Foobar 1.0" Id="YOURGUID-CD32-4B20-BB4F-58A5C3B21A7C" UpgradeCode="YOURGUID-EDCE-42A2-9DA2-59FB08AC4FA6" Language="1033" Codepage="1252" Version="1.0.0" Manufacturer="Acme Ltd.">
<Package Id="*" Keywords="Installer" Description="Acme's Foobar 1.0 Installer" Comments="Foobar is a registered trademark of Acme Ltd." Manufacturer="Acme Ltd." InstallerVersion="100" Languages="1033" Compressed="yes" SummaryCodepage="1252" />
<Media Id="1" Cabinet="Sample.cab" EmbedCab="yes" DiskPrompt="CD-ROM #1" />
<Property Id="DiskPrompt" Value="Acme's Foobar 1.0 Installation [1]" />
<Property Id="ALLUSERS" Value="1" />
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder" Name="PFiles">
<Directory Id="Acme" Name="Acme">
<Directory Id="INSTALLDIR" Name="Foobar 1.0">
<Component Id="MainExecutable" Guid="YOURGUID-2191-4A98-806B-2554B0DD8FC3">
<File Id="FoobarEXE" Name="FoobarAppl10.exe" DiskId="1" Source="FoobarAppl10.exe" KeyPath="yes">
<Shortcut Id="startmenuFoobar10" Directory="ProgramMenuDir" Name="Foobar 1.0" WorkingDirectory="INSTALLDIR" Icon="Foobar10.exe" IconIndex="0" Advertise="yes" />
<Shortcut Id="desktopFoobar10" Directory="DesktopFolder" Name="Foobar 1.0" WorkingDirectory="INSTALLDIR" Icon="Foobar10.exe" IconIndex="0" Advertise="yes" />
</File>
</Component>
<Component Id="HelperLibrary" Guid="YOURGUID-7BA7-4BD1-90B9-C0DFC21674B1">
<File Id="HelperDLL" Name="Helper.dll" DiskId="1" Source="Helper.dll" KeyPath="yes" />
</Component>
<Component Id="Manual" Guid="YOURGUID-F60A-48D6-83FD-44ED01AA579A">
<File Id="Manual" Name="Manual.pdf" DiskId="1" Source="Manual.pdf" KeyPath="yes">
<Shortcut Id="startmenuManual" Directory="ProgramMenuDir" Name="Instruction Manual" Advertise="yes" />
</File>
</Component>
</Directory>
</Directory>
</Directory>
<Directory Id="ProgramMenuFolder" Name="Programs">
<Directory Id="ProgramMenuDir" Name="Foobar 1.0">
<Component Id="ProgramMenuDir" Guid="YOURGUID-2D4F-443F-9ADA-563DB3C1581F">
<RemoveFolder Id="ProgramMenuDir" On="uninstall" />
<RegistryValue Root="HKMU" Key="Software\[Manufacturer]\[ProductName]" Type="string" Value="" KeyPath="yes" />
</Component>
</Directory>
</Directory>
<Directory Id="DesktopFolder" Name="Desktop" />
</Directory>
<Feature Id="Complete" Level="1">
<ComponentRef Id="MainExecutable" />
<ComponentRef Id="HelperLibrary" />
<ComponentRef Id="Manual" />
<ComponentRef Id="ProgramMenuDir" />
</Feature>
<Icon Id="Foobar10.exe" SourceFile="FoobarAppl10.exe" />
<UI />
</Product>
</Wix>
'HKMU' był podobno magicznym zaklęciem, którego potrzebowałem dzisiaj! –
Bob Arnson ma blog entry która zakrywa jak ustawić Użytkownika vs. Maszyna w Wix.
Szybką odpowiedzią jest ustawienie atrybutu InstallScope elementu Package na "perMachine".
- 1. Jak wymagać SSL dla wszystkich zdalnych użytkowników
- 2. Oracle - przyznawać przywileje dla wszystkich użytkowników
- 3. SQL Azure: lista wszystkich użytkowników i użytkowników
- 4. Instalowanie aplikacji cordova/phonegap na Windows 8.1 dla wszystkich użytkowników
- 5. Wix utworzyć niezgłaszany skrót dla wszystkich użytkowników/na maszynę
- 6. Django Zdobądź wszystkich użytkowników
- 7. wizualizer kodu dla programów rakietowych
- 8. ograniczyć wszystkich użytkowników do 1 sesji
- 9. Jak zrobić GNU-Screen share 1 ekran dla wszystkich użytkowników?
- 10. Jak wyłączyć uwierzytelnianie hasła dla wszystkich użytkowników oprócz kilku
- 11. Jak zainstalować nagłówki programów Python w systemie Mac OS X?
- 12. Skróty klawiaturowe dla menu
- 13. Jak zdobyć wszystkich użytkowników grupy w Django?
- 14. Globalne skróty do kakao?
- 15. Jak uzyskać ścieżkę do katalogu programów menu Start?
- 16. Czy muszę anulować subskrypcję wszystkich programów do obsługi zdarzeń?
- 17. Jak zainstalować rynek Android na emulatorze dla wszystkich api
- 18. Jak uzyskać listę wszystkich użytkowników w SharePoint
- 19. Skróty Emacsa dla IDEA IDE?
- 20. .NET uzyskać lokalny katalog tymczasowy dostępny dla wszystkich użytkowników
- 21. Cygwin top command - Zobacz procesy dla wszystkich użytkowników
- 22. Instalowanie Pythona 2.7 dla wszystkich użytkowników na SLES 11
- 23. Skróty klawiaturowe dla emulatora Androida?
- 24. Git bugtraq dla wszystkich użytkowników, którzy sklonują moje reposy?
- 25. Jak znaleźć wszystkich zalogowanych użytkowników i użytkowników, którzy uzyskują dostęp do witryny, ale nie są zalogowani?
- 26. Tworzenie prywatnego adresu URL dla wszystkich użytkowników na mojej stronie
- 27. Gdzie powinienem przechowywać ustawienia aplikacji dla wszystkich użytkowników spoza roamingu?
- 28. nazewnictwa dla górnej przypadku Skróty
- 29. Skróty klawiaturowe Eclipse dla VisualStudio
- 30. Ustaw uprawnienia do zapisu dla wszystkich użytkowników dla mojego folderu programu
Kiedy to zrobisz, nie musisz się martwić o własność ALLUSERS. Ustawienie InstallScope na "perMachine" automatycznie ustawia ALLUSERS na 1. – RaceRalph