powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Wix CustomAction как узнать в шарповом коде куда ставится программа?
20 сообщений из 20, страница 1 из 1
Wix CustomAction как узнать в шарповом коде куда ставится программа?
    #38864223
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как вытащить из session путь к папке куда устанавливается программа?

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
 
  ..........
    public class CustomActions: System.Configuration.Install.Installer
    {
        [CustomAction]
         public static ActionResult Install(Session session)
        {
      
            PrintingInstaller prtInstaller = new PrintingInstaller();
            prtInstaller.Install();

            string targ = session["тут что должно быть?"];
           
            MessageBox.Show(targ);
           ......
...
Рейтинг: 0 / 0
Wix CustomAction как узнать в шарповом коде куда ставится программа?
    #38864231
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуйте так

strFilePath = session["INSTALLDIR"];
...
Рейтинг: 0 / 0
Wix CustomAction как узнать в шарповом коде куда ставится программа?
    #38864248
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Winnipuhпопробуйте так

strFilePath = session["INSTALLDIR"];

Возвращается пустая строка. В Wix XML файле должна как-то передаваться эта "INSTALLDIR"? У меня сейчас так

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
   <Binary Id="Test.RFID.Printing.Addition.Wix.CA" 
         SourceFile="\bin\Debug\Test.Printing.Addition.Wix.CA.dll" />

    <CustomAction Id="ActionInstall"
        BinaryKey="Test.Printing.Addition.Wix.CA"
        DllEntry="Install"
        Execute="immediate"
        Return="check"
        Impersonate="no"/>

 <InstallExecuteSequence>
         <Custom Action="ActionInstall" Before="InstallFinalize">
             NOT Installed
        </Custom>
        <Custom Action="ActionUninstall" Before="InstallFinalize">
           Installed AND NOT UPGRADINGPRODUCTCODE
      </Custom>
   </InstallExecuteSequence>
    
...
Рейтинг: 0 / 0
Wix CustomAction как узнать в шарповом коде куда ставится программа?
    #38864263
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это все файлы инсталлера?


INSTALLDIR is not a standard property but it is just a de facto property to set the primary install location (e.g. c:\program files\My product). INSTALLDIR is used in InstallShield and other variations are INSTALLLOCATION or so.
Merge module author cannot expect users to use INSTALLDIR property to set the installing location of the merge modules.
That's why INSTALLDIR is modularized with GUID appended. (not a standard property)

However, TARGETDIR is a standard property which specifies the root destination directory for the installation. This seems that c:\program files\my product can also be the TARGETDIR, doesn't it? But usually it is not. Usually c:\ is the TARGETDIR in user installation and an another value in administrative installation.
...
Рейтинг: 0 / 0
Wix CustomAction как узнать в шарповом коде куда ставится программа?
    #38864303
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, можно проанализировать уже готовый msi, если есть сомнения и вопросы

superorca
...
Рейтинг: 0 / 0
Wix CustomAction как узнать в шарповом коде куда ставится программа?
    #38864672
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WinnipuhКстати, можно проанализировать уже готовый msi, если есть сомнения и вопросы

superorca

А где взять готовый MSI в котором вызывается CustomAction в который передается INSTALLDIR?
...
Рейтинг: 0 / 0
Wix CustomAction как узнать в шарповом коде куда ставится программа?
    #38864796
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
EoltКак вытащить из session путь к папке куда устанавливается программа?
А это для Вас принципиально, вытаскивать из session?
Ведь есть и другие способы
...
Рейтинг: 0 / 0
Wix CustomAction как узнать в шарповом коде куда ставится программа?
    #38865127
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2EoltКак вытащить из session путь к папке куда устанавливается программа?
А это для Вас принципиально, вытаскивать из session?
Ведь есть и другие способы

Какие способы? Подскажите!
...
Рейтинг: 0 / 0
Wix CustomAction как узнать в шарповом коде куда ставится программа?
    #38865151
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опишите подробности вашей задачи.

1. У вас есть уже инсталлятор, который ставит программу в какой-то фолдер и вы пытаетесь доабвить свою некую функцию?
2. Или самого инсталлятора еще нет?

если 1, то там вызывается диалог для выбора фолдера или оно молча ставится куда-то?
если 2, то я бы сделал хоть какой-то 1, а потом бы уже заморачивался вопросами, иначе вопросы сотанутся теоретичекими.
...
Рейтинг: 0 / 0
Wix CustomAction как узнать в шарповом коде куда ставится программа?
    #38865221
Sergey TSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
EoltВ Wix XML файле должна как-то передаваться эта "INSTALLDIR"?


В структуре каталогов какая переменная стоит?

Код: xml
1.
2.
3.
4.
5.
6.
    <Directory Id="TARGETDIR" Name="SourceDir">
      <Directory Id="ProgramFilesFolder">
        <Directory Id="ТУТ_ЧТО???" Name="Name">
        </Directory>
      </Directory>
    </Directory>
...
Рейтинг: 0 / 0
Wix CustomAction как узнать в шарповом коде куда ставится программа?
    #38865225
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey TSVEoltВ Wix XML файле должна как-то передаваться эта "INSTALLDIR"?


В структуре каталогов какая переменная стоит?


TARGETDIR стоит
...
Рейтинг: 0 / 0
Wix CustomAction как узнать в шарповом коде куда ставится программа?
    #38865234
Sergey TSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
EoltTARGETDIR стоит

TARGETDIR - Это виртуальный каталог. Дальше что стоит в нем?
...
Рейтинг: 0 / 0
Wix CustomAction как узнать в шарповом коде куда ставится программа?
    #38865246
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey TSVEoltTARGETDIR стоит

TARGETDIR - Это виртуальный каталог. Дальше что стоит в нем?

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
   <Directory Id="TARGETDIR" Name="SourceDir">
      <Directory Id="ProgramFilesFolder">
        <Directory Id="ManufacturerFolder" Name="MySoft">
          <Directory Id="INSTALLFOLDER" Name="Printing" >
            <Directory Id="Device" Name="DeviceInstall" />
            <Directory Id="Utility" Name="LabelsUtility" />
            <Directory Id="Labels" Name="DemoLabels" />
            <Directory Id="x86" Name="x86" />
          </Directory>
        </Directory>
      </Directory

>
...
Рейтинг: 0 / 0
Wix CustomAction как узнать в шарповом коде куда ставится программа?
    #38865251
Sergey TSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Eolt,

Так а зачем session["INSTALLDIR"] пробуете?
session["INSTALLFOLDER"] не работает?
...
Рейтинг: 0 / 0
Wix CustomAction как узнать в шарповом коде куда ставится программа?
    #38865265
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey TSVEolt,

Так а зачем session["INSTALLDIR"] пробуете?
session["INSTALLFOLDER"] не работает?

Cпасибо заработало! Меня сбило с толку ошибка:
Код: c#
1.
    string targ = session["[INSTALLFOLDER]"];



а на самом деле надо так:
Код: c#
1.
  string targ = session["INSTALLFOLDER"];
...
Рейтинг: 0 / 0
Wix CustomAction как узнать в шарповом коде куда ставится программа?
    #38865823
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возник новый вопрос по Wix`у. Сделал инсталляцию, все работает. Билдится без ошибок, устанавливается правильно.
Тогда я решил разбить один файл инсталляшки на фрагменты. Чтобы было удобнее редактировать куски проекта.
Все сделал аккуратно, проект билдится, ошибок нет. Но получается только огрызок MSI файла размером 24 кбайт!
Короче пустой msi`ашник. Выдается только одно предупреждение:

авторWarning 1 The cabinet 'Project.cab' does not contain any files. If this installation contains no files, this warning can likely be safely ignored. Otherwise, please add files to the cabinet or remove it. C:\Project\Main.wxs

Очень странная ситуация. Если проект в одном файле - собирается нормально, если разбит на фрагменты - то только кусок MSI файла.
В чем может быть проблема?

Вот у человека похожая ситуация: http://stackoverflow.com/questions/3453529/splitting-up-a-wix-file
Только не пойму что он предпринял...
...
Рейтинг: 0 / 0
Wix CustomAction как узнать в шарповом коде куда ставится программа?
    #38866033
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eolt,

скорее всего рядом или где то еще валяются Cab файлы, которые не удалось засунуть в MSI, могу ошибаться, но нельзя 2 cab файла засунуть в 1 msi
...
Рейтинг: 0 / 0
Wix CustomAction как узнать в шарповом коде куда ставится программа?
    #38866230
Sergey TSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Фрагменты считаются самодостаточными единицами и не включаются в результирующий msi самостоятельно. Для их подключения необходимо использовать ссылки типа ComponentRef, FeatureRef, DirectoryRef и др.

В основном файле (обычно Product.wxs) нужно указать ссылки на элеметы в других фрагментах, например:

Код: xml
1.
2.
3.
4.
5.
6.
7.
<Feature Id="…"…>
  <Feature Id="…">
    <ComponentRef Id="…"/>
    <ComponentRef Id="…"/>
    <ComponentRef Id="…"/>
  </Feature>
</Feature>
...
Рейтинг: 0 / 0
Wix CustomAction как узнать в шарповом коде куда ставится программа?
    #38866330
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey TSV,

Какой треш, если у меня там 200 компонентов, мне надо на каждый ComponentRef указать?
...
Рейтинг: 0 / 0
Wix CustomAction как узнать в шарповом коде куда ставится программа?
    #38866362
Sergey TSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Eolt,

Во фрагменте можно объединить их в группу ComponentGroup и подключать через ComponentGroupRef.
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Wix CustomAction как узнать в шарповом коде куда ставится программа?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]